【问题标题】:imageview on uiscrollviewuiscrollview 上的图像视图
【发布时间】:2011-12-01 10:50:26
【问题描述】:

我有一个scrollview,我正在使用imageview。我的水平 scrollview 大小为 320 宽和 40 像素高。

我在scrollview 上有很多图片。

我希望当图像位于scrollview 的中心时,图像的大小应该按比例增加 40%。

【问题讨论】:

    标签: iphone objective-c uiscrollview uiimageview


    【解决方案1】:

    您的图像视图最好考虑在滚动视图中而不是在它上面。因此,您可以使滚动视图与图像的放大尺寸一样高。你会想象将图像垂直居中放置。您的滚动视图将位于作为滚动视图委托的视图控制器中。然后,视图控制器可以检查滚动视图的偏移量,以确定哪个图像在中心,并确保它被放大,并确保所有其他图像都被缩小。

    你的下一个问题是looping the scrollview

    【讨论】:

    • 我不想循环,但你能用代码告诉我同样的事情吗?这对我有帮助。谢谢
    • 试着写出来,有问题再回来?
    【解决方案2】:

    viewDidLoad中实现定时器:

    NSTimer *t;
    [t scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(timerFired1:) userInfo:nil repeats:YES];
    

    为计时器创建回调:

    - (void)timerFired1:(NSTimer *)timer { 
    
    if (clubScrollView.contentOffset.y + clubScrollView.frame.size.heigth/2 == yourImage.frame.center)
        [UIView animateWithDuration:1 
                         animations:^{
                              [YourImage setFrame:CGRectMake(x, y, width, height)];   //set any frame
                         }];
     }
    

    使viewWillDisappear中的计时器失效:

    [t invalidate];
    

    【讨论】:

    • 没有你的就不能发布更多的代码。你如何滚动scrollView?通过触摸,还是通过按钮以编程方式?
    • 这是我的代码,我将 IBOutlet 用于 ScrollView 。 NSU整数 i; for (i = 1; i
    • 您需要UIView 作为您的clubScrollView 的子视图,并将您的图像添加为此UIView 的子视图。另外,在你的for cicle 的每一步,使这个UIView 的框架更大,并设置clubScrollView 的contentSize 属性更大。然后,使用此代码修改您的问题
    • 我已经完成了你所说的一切,但如何增加规模。
    • 这里的yourImage是什么意思,这是UIImage还是UIImageView?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多