세그먼트 화 된 컨트롤을 구현하는 사용자 정의 라이브러리 (devinross/tapkulibrary)가 있습니다. 이 세분화 된 컨트롤은 기본보기의 하위보기 내에 배치됩니다. 이제 세그먼트 화 된 컨트롤에 대한 컨트롤을 변경하면 새로운 viewcontroller로 변경하고 정확히 동일한 위치에서 세그먼트 된 컨트롤을 다시 그립니다. 그러나 이로 인해 애니메이션 중에 일부 문제가 발생하는 경우가 있습니다.iOS : View를 일정하게 유지하거나 여러 ViewControllers간에보기 전달
새로운 뷰 컨트롤러의 분할 컨트롤 속성을 현재 속성에 할당 할 수 있으므로 다양한 뷰 컨트롤러에서 동일한 세그먼트를 사용할 수 있습니까?
[controller.segmentedView addSubView:self.multiSwitch];
이 또한 내가 파단을 사용하고 분할 컨트롤이 변경 될 때이를 표시 할 수 없습니다 있습니다 :
// First.h
@property (weak, nonatomic) IBOutlet UIView *segmentedView;
@property (nonatomic, strong) TKMultiSwitch *multiswitch;
// First.m
- (void)viewDidLoad {
//multiSwitch initializations
[self.multiswitch addTarget:self action:@selector(changedSegmentedControl:) forControlEvents:UIControlEventValueChanged];
[self.segmentedView addSubview:self.multiswitch];
}
-(void) changedSegmentedControl:(id)sender {
switch(sender.indexOfSelectedItem)
{
case 1:
Second *controller = (Second*)[self.storyboard instantiateViewControllerWithIdentifier:@"secondvc"];
controller.multiswitch = self.multiswitch;
break;
}
}
// Second.h
@property (weak, nonatomic) IBOutlet UIView *segmentedView;
@property (nonatomic, strong) TKMultiSwitch *multiswitch;
// Second.m
- (void)viewDidLoad {
[self.multiswitch addTarget:self action:@selector(changedSegmentedControl:) forControlEvents:UIControlEventValueChanged];
[self.segmentedView addSubview:self.multiswitch];
}
-(void) changedSegmentedControl:(id)sender {
switch(sender.indexOfSelectedItem)
{
case 0:
First *controller = (First*)[self.storyboard instantiateViewControllerWithIdentifier:@"firstvc"];
controller.multiswitch = self.multiswitch;
break;
}
}
는 First.m 파일의 switch
섹션에서 case 1:
를 들어, 나는 또한 다음하지만 운했습니다. View Controller를 변경해야합니다.
편집 : 비디오 보여주는 어떤 작동하고 무엇을하지 않습니다 (여기에 3 개 섹션가)
이 작업 : https://www.youtube.com/watch?v=lI368z9ntfM이
문제 : https://www.youtube.com/watch?v=oTU6tIq5ZW4
어떤 애니메이션 문제가 발생합니까? – mbm29414
이전에 개별 세그먼트 컨트롤을 유지하면서 사용자가 특정 세그먼트 컨트롤을 터치 할 때 SecondH의 viewDidLoad에서 수동으로 인덱스를 선택했습니다. 그러나 사용자가 세그먼트 컨트롤 위에 드래그 (또는 스 와이프)하면 같은 수신기 이벤트 인 UIControlEventValueChanged가 두 번 표시됩니다. – meteors
그럼'UISegmentedControl' 객체가 2 개 있지만 청취자는 1 명 뿐이니? 각 분할 컨트롤에 자체 수신기 (즉, 표시하는보기 컨트롤러)가있을 수 있습니까? – mbm29414