作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 UIButton,其状态正常/突出显示的标题应与其容器对象的属性保持同步。
如何使用字符串属性为特定状态绑定(bind)按钮标题?
编辑:
我知道使用 RACObserve 并更改 subcribeNext block 中的按钮标题是一种解决方案。
我正在寻找更专门为 UIButton 设计的东西,例如:
RACBindButtonTitle(button, property, state1, state2);
不知道有没有这种“RAC糖”。
最佳答案
这是一种无需显式订阅即可实现的方法。应尽可能避免显式订阅,这样您就不必经历整个 @weakify(self)
@strongify(self)
舞蹈。
[self.button rac_liftSelector:@selector(setTitle:forState:)
withSignals:
RACObserve(self, normalButtonTitle),
[RACSignal return:@(UIControlStateNormal)],
nil];
[self.button rac_liftSelector:@selector(setTitle:forState:)
withSignals:
RACObserve(self, selectedButtonTitle),
[RACSignal return:@(UIControlStateSelected)],
nil];
liftSelector:withSignals:
将急切地订阅它的信号,这与许多其他 RAC 函数不同。
关于ios - ReactiveCocoa : How do you bind a button's title to a text property?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065961/
我是一名优秀的程序员,十分优秀!