请原谅可怜的代码atm,只是在让它看起来不错之前尝试让它运行起来。所以我试图让UIScrollView正常工作。如果我删除所有滚动视图的东西,我有一个很好的布局页面,64个按钮,页面的每一侧32。这些按钮几乎是微型的;所以我想实现缩放以便能够点击它们。
缩放目前有意想不到的结果。页面启动时,它是空白的。缩放意外地显示了页面右侧的图形的左侧,当我尝试向其滚动时它会反弹。但是当我放大更多时,它允许我向按钮中间滚动更多。滚动/缩放时总是给我带来困难/烦恼。显然无法使用。
我的viewDidLoad:
[super viewDidLoad];
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
scroll.minimumZoomScale = 0.5;
scroll.maximumZoomScale = 3.0;
scroll.delegate = self;
CGFloat yOrigin = self.view.frame.size.width;
UIView *awesomeView = [[UIView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
// iterate over values in the staff array
int heightBetweenBrackets = 0;
int widthBetweenBrackets = 0;
int heightFromTop = 45;
for(int i = 0; i < 64; i++)
{
if(i == 32)
{
heightBetweenBrackets = 0;
}
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(
0 + i/32*438,
heightFromTop + i%32*3+ heightBetweenBrackets,
35, 6);
[myButton setTitle:[NSString stringWithFormat:@"%d",i] forState:UIControlStateNormal];
myButton.titleLabel.adjustsFontSizeToFitWidth = YES;
[myButton.titleLabel setFont:[UIFont fontWithName:@"Arial" size:7]];
myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
// [myButton addTarget:self action:@selector(chooseWinner:) forControlEvents:UIControlEventTouchUpInside];
[awesomeView addSubview:myButton];
heightBetweenBrackets += (i%2 -1 * -1) * 3;
}
[scroll addSubview:awesomeView];
scroll.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height);
[self.view addSubview:scroll];
和
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.view;
}
我很抱歉,如果这个bug是愚蠢的我只是在学习IOS =]感谢你的时间
编辑:想出来。
对于未来的任何人:我移植了一个分页卷轴,并没有意识到我保留了CGFloat yOrigin = self.view.frame.size.width; - 这当然是直接在任何可见空间的右侧开始视图。因此我能够以有缺陷的方式缩放并看到它的左侧,尽管它开始是空白的。简单地将其更改为0解决了我的问题。
答案 0 :(得分:0)
对于未来的任何人:我移植了一个分页卷轴,并没有意识到我保留了CGFloat yOrigin = self.view.frame.size.width; - 这当然是直接在任何可见空间的右侧开始视图。因此我能够以有缺陷的方式缩放并看到它的左侧,尽管它开始是空白的。简单地将其更改为0解决了我的问题。