[英]How can I get my UISwitch to do something?
我如何讓我的UISwitch調用此函數:打開時https://ghostbin.com/paste/y2xrc並返回FALSE; 當它關閉時。
(我已將開關顯示在Messages.app(MobileSMS.app)的“ CKTranscriptCollectionViewController”內部,現在我希望它在打開或關閉時執行某些操作,這是我在上面的鏈接中發布的內容)。
#import <UIKit/UIKit.h>
#import <ChatKit/CKConversation.h>
@interface CKTranscriptCollectionViewController : UIViewController
@property (nonatomic, strong) UISwitch *mySwitch;
- (void)loadView;
@end
%hook CKTranscriptCollectionViewController
- (void)viewDidLoad {
%orig;
UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(10, 10, 51, 31)];
[mySwitch setOn:NO animated:YES];
[self.view addSubview:mySwitch];
}
%end
在頭文件中定義一個布爾值,
BOOL allowForceMMS;
-(BOOL)forceMMS {
return allowForceMMS;
)
- (void)viewDidLoad {
%orig;
UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(10, 10, 51, 31)];
//add action on switch to handle switch on/off
[mySwitch addTarget:self action:@selector(setState:) forControlEvents:UIControlEventValueChanged];
[mySwitch setOn:NO animated:YES];
[self.view addSubview:mySwitch];
}
-(void)setState:(UISwitch*)switch {
allowForceMMS = switch.isOn;
}
[mySwitch addTarget:self action:@selector(switchValueChangeHandler:) forControlEvents:UIControlEventValueChanged];
在您的viewdidload中執行此操作
[switchTemp addTarget:self action:@selector(ChangeValue) forControlEvents:UIControlEventValueChanged];
和這個功能
-(BOOL)forceMMS
{
if (switchTemp.isOn)
{
return YES;
}
else
{
return NO;
}
}
您可以指定要調用的目標。
- (void)viewDidLoad {
UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(10, 10, 51, 31)];
[mySwitch addTarget:self action:@selector(valueChange:) forControlEvents:UIControlEventValueChanged];
[mySwitch setOn:NO animated:YES];
[self.view addSubview:mySwitch];
}
-(void)valueChange:(UISwitch*)switch
{
if(switch.isOn)
{
//switch is on
}
else
{
//switch is off
}
}
希望對您有幫助。
只需在viewDidLoad方法中如下創建UISwitch,
UISwitch *mySwitch = [[UISwitch alloc] init];
[mySwitch addTarget:self action:@selector(switchValueChangeHandler:) forControlEvents:UIControlEventValueChanged];
然后在方法更改的情況下調用方法時,檢查狀態為“ ON”(布爾值為YES或n = NO)
-(void)switchValueChangeHandler:(UISwitch*)sender
{
NSLog(@"%@",sender.on);
}
然后根據sender.on是true還是false可以執行操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.