Fre*_*ins 14 objective-c uitoolbar uibarbuttonitem ios7
我想知道如何实现这样的目标:

这是一个工具栏,我想保留按钮标题文本,而不必使用图标和文本创建整个图像.如何UIBarButtonItem在保持文本设置的同时在左侧添加图标:
UIBarButtonItem *customBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:nil action:nil];
Run Code Online (Sandbox Code Playgroud)
编辑
这是我用以下代码实现的:
UIButton *customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[customButton setImage:[UIImage imageNamed:@"Test"] forState:UIControlStateNormal];
[customButton setTitle:@"Button" forState:UIControlStateNormal];
customButton.titleEdgeInsets = UIEdgeInsetsMake(0, 5, 0, 0);
[customButton sizeToFit];
UIBarButtonItem *customBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:customButton];
Run Code Online (Sandbox Code Playgroud)

这里有两个问题:第一个是尺寸,UIButton第二个是,正如你从gif看到的那样,当我点击按钮内部和当我释放水龙头时按钮没有正确的动画.有任何想法吗?
Gre*_*reg 31
您可以在UIBarButtonItem中嵌入UIButton作为自定义视图.您可以随意创建UIButton,包括图像和文本,使用-setImage:forState:和-setTitle:forState:.
UIButton* customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[customButton setImage:[UIImage imageNamed:@"image"] forState:UIControlStateNormal];
[customButton setTitle:@"Button" forState:UIControlStateNormal];
[customButton sizeToFit];
UIBarButtonItem* customBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationItem.leftBarButtonItem = customBarButtonItem; // or self.navigationItem.rightBarButtonItem
Run Code Online (Sandbox Code Playgroud)
请注意,执行此操作时,您需要将IBAction方法附加到customButton,而不是customBarButtonItem.
有关详细信息,请参阅文档initWithCustomView:.
您也可以通过将UIButton拖动到导航栏上的左侧栏按钮/右侧栏按钮插槽,在界面构建器中完成所有这些操作.
| 归档时间: |
|
| 查看次数: |
19442 次 |
| 最近记录: |