它现在已在ios7.1
上修复.不要做任何调整来修复它.
显然,在iOS 8.0和8.1中再次出现同样的问题
现在修复了ios9.2.
不要做任何调整来修复它.
你好我今天看到的UISwitch's
事件ValueChanged:
中调用continuously
,而我的改变On
来Off
或者Off
到在我的手指还在移动在右侧和左侧.我用NSLog更清楚地看了GIF图像.
我的价值改变方法是:
- (IBAction)changeSwitch:(id)sender{
if([sender isOn]){
NSLog(@"Switch is ON");
} else{
NSLog(@"Switch is OFF");
}
}
Run Code Online (Sandbox Code Playgroud)
iOS6相同的Switch代码工作正常我们期望:
所以任何人都可以建议我只打电话或关闭一次状态.或者这是一个错误或什么..?
UPDATE
这是我的演示:
我怎样才能UISwitch
在UITableView
细胞上嵌入?可以在设置菜单中看到示例.
我目前的解决方案
UISwitch *mySwitch = [[[UISwitch alloc] init] autorelease];
cell.accessoryView = mySwitch;
Run Code Online (Sandbox Code Playgroud) 我已经了解到我们可以将UISwitch按钮外观更改为"on"状态,但是也可以在"关闭"状态下更改UISwitch的颜色吗?
是否有一种方法可以为开关状态实现带有自定义图形的UISwitch?或者作为另一种选择,UIButton具有UISwitch功能?
我将我的一个核心数据属性设置为布尔值.现在,我需要设置它,但XCode一直告诉我它可能不响应setUseGPS.
[ride setUseGPS: useGPS.on];
Run Code Online (Sandbox Code Playgroud)
在核心数据中设置布尔值的方法是什么?我所有其他属性都以这种方式设置,并且它们运行良好.那么,不确定为什么布尔值无法以这种方式设置?
我想在UISwitch更改其状态时执行某些操作,因此设置为打开或关闭.我该怎么做呢?我需要传递两个对象作为参数.
它是在代码中创建的,因此不使用xib.
我有一个UITableViewCell
与UISwitch
作为accessoryView的每一个细胞.当我更改单元格中交换机的值时,如何知道交换机在哪一行?我需要切换值更改事件中的行号.
我有一个名为soundSwitch的开关,我正在使用用户默认值保存按钮的状态:
@IBAction func soundsChanged(sender: AnyObject) {
if soundSwitch.on{
defaults.setBool(true, forKey: "SoundActive")
print("Sound ON")
}else{
defaults.setBool(false, forKey: "SoundActive")
print("Sound OFF")
}
}
Run Code Online (Sandbox Code Playgroud)
当前,当用户首次启动应用程序时,实际默认值最初为false.
如果用户首次启动应用程序并且尚未配置它,我如何将默认值实现为true.
我在Objective-C中看过方法,但在Swift中没有.从我所看到的你可以在app中委托一些方法,或者在plist文件中.我该怎么办?
我有一个简单的问题.我在Interface Builder中创建了一个包含UISwitch的自定义UITableViewCell.
问题1:更简单,更好的方法吗?问题2:在UITableViewController中使用时,获取数据的最佳方法是什么?在某些时候,我需要通过表格并检查每个单元格的状态,或者在开关状态直接变化时发送一些反馈?
谢谢您的帮助.
在一个看似永无止境的关于iphone开发的更多努力中,我一直在玩苹果开发者网站提供的一些源代码.我正在使用的特定示例是Core Data Books,可在此处找到.DetailViewController和AddViewController是以编程方式创建的,因为它们没有任何xib文件.我的问题是在不使用IB的情况下以编程方式将视图添加到视图中.我想在UITableView下面放置一个UISwitch,它包含DetailView中特定书籍的详细信息.我该怎么做呢?这是我到目前为止所尝试的:
在AddViewController中,我设置了UISwitch:
@interface AddViewController : DetailViewController {
id <AddViewControllerDelegate> delegate;
UISwitch *onoff;
}
@property (nonatomic, assign) id <AddViewControllerDelegate> delegate;
@property (nonatomic, retain) IBOutlet UISwitch *onoff;
Run Code Online (Sandbox Code Playgroud)
我还设置了一个IBAction:
- (IBAction)flip:(id)sender;
Run Code Online (Sandbox Code Playgroud)
然后我在AddViewController.m文件中合成它,但没有任何反应.我只需要设置开关并使其成为可以控制它从我设置的IBAction中做的事情.我知道这很简单,但我无法弄清楚.所以,任何帮助将不胜感激!谢谢
编辑1
所以我实现了我在viewDidLoad中指向的代码,如下所示:
- (void)viewDidLoad {
[super viewDidLoad];
UISwitch *onoff = [[UISwitch alloc] initWithFrame: CGRectZero];
[onoff addTarget: self action: @selector(flip:) forControlEvents:UIControlEventValueChanged];
// Set the desired frame location of onoff here
[self.view addSubview: onoff];
Run Code Online (Sandbox Code Playgroud)
并且它抛出两个警告,说'onoff'的本地声明隐藏了实例变量.但即使有这些收入,UISwitch弹出也好,但是当我移动或使用它时,它看起来并不完全正常.对于我的行为,看起来像这样:
- (IBAction)flip:(id)sender {
if (onoff.on) NSLog(@"On");
else NSLog(@"Off");
}
Run Code Online (Sandbox Code Playgroud)
每当开关打开时,控制台应该打开,当它关闭时,控制台应该读取.对?无论何时我移动它,它只是在控制台中重复,关闭.如果它打开,或者它关闭,它只显示.世界上我做错了什么?请帮忙!谢谢
uiswitch ×10
iphone ×9
ios ×4
uitableview ×3
objective-c ×2
boolean ×1
cocoa-touch ×1
core-data ×1
ios5 ×1
ios7 ×1
swift ×1
uibutton ×1
uiview ×1
xcode5 ×1