ios - 访问 UIViewController 类别中的 UIButton

标签 ios iphone cocoa-touch uikit

我正在创建一个简单的 UIViewController 类别,它增加了在 View 顶部显示一个按钮以显示聊天窗口的可能性。

@interface UIViewController (ChatButton)
- (void)showChatButtonFromTop;
- (void)showChatButtonFromBottom;
- (void)hideButton;
@end

现在在我创建一个按钮并显示它的方法中:

- (void)showChatButtonFromTop
{        
    UIButton* chatBtn = [self constructButtonWithWidth:buttonAxisSize X:buttonX Y:buttonY];
    [self.view addSubview:chatBtn];
}

但我还需要隐藏按钮:

- (void)hideButton
{
    // confusion!  
}

我如何获得该按钮?类别不允许属性,那么如何存储引用?

最佳答案

添加按钮查看时,给按钮添加标签

chatBtn.tag = 1234;
[self.view addSubview:chatBtn];

当你试图隐藏按钮访问它的标签时

- (void)hideButton
{
    UIButton *chatBtn = (UIButton *)[self.view viewWithTag:1234];
    [chatBtn setHidden:YES];
}

关于ios - 访问 UIViewController 类别中的 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31252259/

相关文章:

javascript - 主屏幕网络应用程序的 Facebook 身份验证已损坏!+

iphone - 通过应用内购买完成购买后,将标志存储在 NSUserDefaults 中是否安全?

iphone - NSCalendar 日差错误

ios - 在内部查找字典键和字典数组

ios - React Native map 上的标记单击事件在 React iOS 中不起作用

iphone - 错误 : This endpoint has been deprecated

ios - 覆盖 UIColor 的 isEqual : method within Category

ios - iPhone4/4S 对比其他媒体查询

ios - 在选择时动画化 UICollectionViewCell 标签

ios - xcode 4.6问题/metaio配置中的“文件所有者”