OStack程序员社区-中国程序员成长平台

标题: ios - 在 iOS 8.2 上更改 UIBarButtonItem 的垂直位置 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 10:26
标题: ios - 在 iOS 8.2 上更改 UIBarButtonItem 的垂直位置

这是我的导航栏

Image link

我在更改导航栏上设置 UIBarButtonItem 的垂直位置时遇到问题。我想将按钮项“设置”向下移动

这是我的代码

 UIBarButtonItem *settingsItem = [[UIBarButtonItem alloc] initWithTitle"Settings" style:UIBarButtonItemStylePlain target:self action:nil];
 self.navItem.rightBarButtonItem = settingsItem; 
    [[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0,-10) forBarMetrics:UIBarMetricsDefault];

我一次又一次地尝试过。好像不行

谁能建议我如何将“设置”按钮项向下移动?



Best Answer-推荐答案


您可以轻松地将自定义按钮添加到您的 NavigationBarItem,这是方法,

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; //create custom Button
    [button setTitle"Settings" forState:UIControlStateNormal];
    [button.titleLabel setFont:[UIFont systemFontOfSize:14.0]];
    [button setTitleColor:[UIColor colorWithRed:179.0/255.0 green:40.0/255.0 blue:18.0/255.0 alpha:1] forState:UIControlStateNormal];
    button.frame = CGRectMake(0, 0, 50, 20); //Button frame
    [button addTarget:self actionselector(yourCustomSelectorHere) forControlEvents:UIControlEventTouchUpInside]; //Add action method to the button here
    UIView *backButtonView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 63, 33)];
    backButtonView.bounds = CGRectOffset(backButtonView.bounds, -14, -7);
    [backButtonView addSubview:button];
    UIBarButtonItem *barBtnItem = [[UIBarButtonItem alloc]initWithCustomView: backButtonView]; //set button as UIBarButtonItem
    self.navigationItem.rightBarButtonItem = barBtnItem; //set barBtnItem to rightBarButtonItem

通过更改 backButtonView.bounds 值,您可以更改 Button 的来源

关于ios - 在 iOS 8.2 上更改 UIBarButtonItem 的垂直位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29060482/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4