【发布时间】:2014-01-13 04:45:50
【问题描述】:
我想单击一个按钮并使一个 UISegmentedControl 的值进入第二个相同的 UISegmented 控件。
这是我尝试过的代码,它什么都不做:
_stopFractionControl = _startFractionControl;
提前致谢!
【问题讨论】:
标签: ios objective-c uisegmentedcontrol
我想单击一个按钮并使一个 UISegmentedControl 的值进入第二个相同的 UISegmented 控件。
这是我尝试过的代码,它什么都不做:
_stopFractionControl = _startFractionControl;
提前致谢!
【问题讨论】:
标签: ios objective-c uisegmentedcontrol
真的很简单:
IBAction
-(IBAction)segmentAction:(sender)
{
segmentedControl.selectedSegmentIndex=segmentedControl2.selectedSegmentIndex;
[segmentedControl1 sendActionsForControlEvents:UIControlEventValueChanged];
}
【讨论】:
您正试图将一个完整对象设置为另一个对象,但您需要做的就是更改第一个对象的参数与另一个对象的参数的关系。
因此,您需要更改的是 selectedSegmentIndex 对象的 selectedSegmentIndex 参数:
试试:
//get segment index of a UISegmentedController object
NSInteger otherSegmentIndex = _startFractionControl.selectedSegmentIndex
//set segment index of a UISegmentedController object to the above
[_stopFractionControl setSelectedSegmentIndex: otherSegmentIndex];
//implement the change
[_stopFractionControl sendActionsForControlEvents:UIControlEventValueChanged];
【讨论】:
Implicit conversion of 'NSInteger' (aka 'int') to 'NSNumber *' is disallowed with ARC
Incompatible integer to pointer conversion initializing 'NSNumber *__strong' with an expression of type 'NSInteger' (aka 'int')
Incompatible pointer to integer conversion sending 'NSNumber *__strong' to parameter of type 'NSInteger' (aka 'int')
NSNumber *otherSegmentIndex = _startFractionControl.selectedSegmentIndex; //set segment index of a UISegmentedController object to the above [_stopFractionControl setSelectedSegmentIndex: otherSegmentIndex]; //implement the change [_stopFractionControl sendActionsForControlEvents:UIControlEventValueChanged];
NSInteger。顺便说一句... -sendActionsForControlEvents 是必需的,否则它只是一个视觉变化