我在自定义ProfileView
类UIViewController
中包含XIB Alarm
。 ProfileView
有一个子视图UITextView
,我想从自定义类UITextView
而不是Alarm
调用ProfileView
委托方法,因为我所有与UITextView
文本有关的逻辑都在我的类。所以我的问题是:如果Alarm
是UITextView
的子视图,我可以从我的Alarm
类中调用UITextView
委托方法吗?换句话说,我可以将ProfileView
委托设置为UITextView
而不是Alarm
吗?
最佳答案
连接UITextView
并将其作为ProfileView
的公共属性
@interface ProfileView : UIView
@property (weak, nonatomic) IBOutlet UITextView *textView;
@end
在您的
Alarm
类中,设置self.profileView.textView.delegate = self
并实现所需的功能;如果profileView
不是Alarm
的属性,请在初始化后设置委托。@interface Alert : UIViewController <UITextViewDelegate>
@property (nonatomic, strong) ProfileView* profileView;
@end
// In |viewDidLoad| or anywhere after you initialize |_profileView|
self.profileView.textView.delegate = self;