2016-09-06 5 views
1

Я работаю с Uber SDK для iOS. Как реализовать пользовательскую кнопку запроса Uber Rides Request в Swift? Я не хочу использовать стандартную кнопку, которую Uber использует в своих документах. Я хочу создать для него свой собственный интерфейс. ReferenceUber IOS SDK - Как реализовать пользовательскую кнопку запроса Uber Ride

+0

Вы можете показать образец, который вам нужен –

ответ

3

Вы можете создать кнопку запроса поездки в стрижа, используя следующие:

let button = RideRequestButton() 
let ridesClient = RidesClient() 
let pickupLocation = CLLocation(latitude: 37.787654, longitude: -122.402760) 
let dropoffLocation = CLLocation(latitude: 37.775200, longitude: -122.417587) 
let builder = RideParametersBuilder().setPickupLocation(pickupLocation).setDropoffLocation(dropoffLocation, nickname: "Somewhere", address: "123 Fake St.") 
ridesClient.fetchCheapestProduct(pickupLocation: pickupLocation, completion: { 
    product, response in 
    if let productID = product?.productID { 
     builder = builder.setProductID(productID) 
     button.rideParameters = builder.build() 
     button.loadRideInformation() 
} 
}) 

Что вы хотите настроить (продукт, пикап, высадки)? В зависимости от того, что вы хотите настроить, вы можете увидеть примеры в документах: https://developer.uber.com/docs/rides/ride-request-buttons

+0

Я хочу настроить пользовательский интерфейс. Я не хочу использовать черно-белую версию, описанную в документах. В основном, как добавить целевую функцию для Uber к пользовательской кнопке? – jsanabria

+0

В этом случае вы можете использовать глубокую ссылку, а затем можете использовать любой стиль кнопки, который вы хотите. См. Пример здесь: https://developer.uber.com/docs/rides/deep-linking-action-setpickup –

2

Если вы просто хотите использовать функцию deeplink, вы можете использовать класс RequestDeeplink. Что-то вроде:

func setup() { 
    let rideParameters = RideParametersBuilder().build() 
    let deeplink = RequestDeeplink(rideParameters: rideParameters) 
    let button = UIButton() 
    button.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside) 
} 

func buttonAction() { 
    deeplink.execute() 
}