gpt4 book ai didi

objective-c - 无法在 UISegment 控件的段之间切换

转载 作者:行者123 更新时间:2023-12-01 18:01:15 27 4
gpt4 key购买 nike

下面是我用来设置 UISegment 控件的代码片段

//Add UIView below the nav bar
UIView *buttonContainer = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];

[self.view addSubview:buttonContainer];

//Set up segment control
NSString *nicknameLabel = [NSString stringWithFormat:@"%@",self.nickname];

UISegmentedControl *tempSegmentControl = [[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:nicknameLabel,@"Friends", @"Everyone", nil]];
tempSegmentControl.frame = CGRectMake(-8, 44, 336, 30);

self.segmentControl = tempSegmentControl;
[self.segmentControl setWidth:112 forSegmentAtIndex:0];
[self.segmentControl setWidth:112 forSegmentAtIndex:1];
[self.segmentControl setWidth:112 forSegmentAtIndex:2];
self.segmentControl.selectedSegmentIndex = 0;
[self.segmentControl addTarget:self action:@selector(toggleControls:) forControlEvents:UIControlEventValueChanged];
[self.segmentControl setSegmentedControlStyle:UISegmentedControlStylePlain];

[self changeSegmentFontSize];

[tempSegmentControl release];
[buttonContainer addSubview:self.segmentControl];
[self.view bringSubviewToFront:buttonContainer];
[buttonContainer bringSubviewToFront:self.segmentControl];
[buttonContainer release];

但是,我在应用程序中,无法在分段控件的分段之间切换。 (仅显示默认的第一段突出显示)

enter image description here

关于如何解决这个问题的任何建议?

最佳答案

它看起来像一个边界问题。包含 View 的边界为 {0, 0, 320, 30},而分段控件的边界为 {-8, 44, 336, 30}。这意味着分段控件在技术上位于其包含 View 的“外部”,并且 iOS HitTest 不会注册触摸。

尝试不设置分段控件的框架(暂时注释掉 tempSegmentControl.frame = CGRectMake(-8, 44, 336, 30); 行),看看会发生什么。

关于objective-c - 无法在 UISegment 控件的段之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9504781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com