2016-10-10 3 views
-4

Я хотел бы создать панель меню на карте, как в нижней части изображения. У него есть панель поиска сверху и три кнопки внизу. Как я могу присоединиться к кнопкам с поисковой панелью, как на картинке? Спасибо.Obj-C - Как добавить строку меню на карте

enter image description here

РЕШЕНИЕ:

Я следовал за ezatu 丶 код с некоторыми изменениями:

  • `UIBezierPath * maskPath = [UIBezierPath bezierPathWithRoundedRect: searchBar.bounds byRoundingCorners: (UIRectCornerTopLeft | UIRectCornerTopRight) cornerRadii: CGSizeMake (6, 6) ];

    CAShapeLayer * maskLayer = [CAShapeLayer layer];

    maskLayer.path = maskPath.CGPath;

    поискBar.layer.mask = maskLayer;

    [toolView addSubview: searchBar]; `для создания округленного угла и тени, того же кода для кнопки в цикле for.

  • Lightgray фоне зрения.

  • UITextfield с лупой Изображение с этим кодом: UITextField *myTextField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, viewWidth, 40)]; myTextField.leftViewMode = UITextFieldViewModeAlways; myTextField.leftView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"asdf"]]; myTextField.backgroundColor = [UIColor whiteColor]; вместо строки поиска.

Благодаря ezatu 丶

+1

установить вид верхней панели меню, ниже его установить вид карты. –

+0

Этот вопрос слишком широк. Что вы уже пробовали? Пожалуйста, опубликуйте свою незавершенную работу. – JAL

ответ

1

вы можете сделать индивидуальный вид добавить в self.view и принести точку зрения.

вот пример кода:

#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width 
#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height 

CGFloat margin = 10; 
CGFloat viewWidth = self.view.frame.size.width - 2 * margin; 
CGFloat viewHeight = 82; 

UIView *toolView = [[UIView alloc] initWithFrame:CGRectMake(margin, SCREEN_HEIGHT - viewHeight - margin, viewWidth, viewHeight)]; 
toolView.backgroundColor = [UIColor grayColor]; 

UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, viewWidth, 40)]; 
[toolView addSubview:searchBar]; 

CGFloat btnWidth = (viewWidth - 4)/3; 
CGFloat btnHeight = 40; 

for (NSInteger i = 0; i < 3; i ++) { 
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [btn setTitle:[NSString stringWithFormat:@"%ld btn", i+1] forState:UIControlStateNormal]; 
    [toolView addSubview:btn]; 
    [btn setBackgroundColor:[UIColor blackColor]]; 
    btn.frame = CGRectMake(i *(btnWidth + 1), 42, btnWidth, btnHeight); 
} 

[self.view addSubview:toolView]; 
[self.view bringSubviewToFront:toolView]; 

enter image description here

+0

Я не делаю стиль о панели поиска и кнопках, вы можете делать то, что хотите. –

+1

, в противном случае вы можете использовать UITextField для замены UISearchBar, потому что использование UITextField более легко обеспечивает желаемый эффект. –

0

Вы должны добавить вид на картографическом контроллере, где вы добавляете эту все кнопки и панель поиска. и установите стиль строки поиска как минимум из раскадровки.

+0

Я знаю, как накладывать вид на карту, но не на то, как присоединиться к кнопкам и панели, как на изображении. – Kerberos

+0

Вы имеете в виду эту черную линию между кнопками и панель поиска? –