0
안녕하세요 컬렉션보기 내부에서 UIsegment 컨트롤에 대한 이벤트를 트리거하려고합니다.UI 세그먼트 화 된 컨트롤이 컬렉션보기 내에서 작동하지 않습니다.
여기 내 코드입니다.
CollectionViewCell.h
@property (strong, nonatomic) IBOutlet UISegmentedControl *mySegmentedControl;
ViewController.m
{
NSInteger selectedSegment;
}
- (UIView *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
cell.mySegmentedControl.tag = indexPath.row;
selectedSegment = cell.mySegmentedControl.selectedSegmentIndex;
[cell.mySegmentedControl addTarget:self action:@selector(segmentValueChanged:) forControlEvents:UIControlEventValueChanged];
}
- (void) segmentValueChanged: (UISwitch *) sender {
//NSInteger index = sender.tag;
if(selectedSegment == 0)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"!Alert"
message:@"Do you think this property is not exists?"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Yes", nil];
[alert show];
}
else
{
//your code
}
}
위의 코드는 저에게 적합하지 않습니다. 도움을 주시면 감사하겠습니다. cellForItemAtIndexPath :`
같이 할 것입니다
UISwitch
없습니다. 당신은'segmentValueChanged :'의'selectedSegmentIndex'를 지역 변수로 읽어야합니다. – clemens@Raj - 내부에 중단 점을 설정해 보았습니다 - (void) segmentValueChanged : (UISwitch *) 발신자. 세그먼트 화 된 컨트롤을 탭한 경우에만 호출됩니다. – kaushal