我正在尝试构建我的第一个iPhone应用程序,柏林博物馆指南,并且在弄清楚如何设计特定视图时遇到了一些麻烦。我以前用Photoshop制作了所有视图的模型,但是现在实际上使它在Xcode中发生是当然的了,当然:-)

所以,这就是我想要的:

[我要在这里发布图片,但由于我是新用户,所以我没有足够的声誉来发布图片。]

在这里找到图片:
http://img9.uploadhouse.com/fileuploads/13445/13445099d5adea77b02fe1d76755da6b81c92634.png

我想要一个带有几个文本部分的白框。较大的标题,较小的标题和较长的文本位于图像旁边。输入的文字由我的核心数据模型提供,并根据用户所观看的展览而变化。

第一个问题:是否存在诸如“带有圆角对象的白框”之类的东西,我可以在其中放置文本,图像等,还是必须将其作为自定义图像导入?在那种情况下,如果我想让盒子改变它的大小,我会遇到一个问题,因为仅仅缩放图像,圆角就会变得失真。。我假设CSS风格的方法是顶部和底部图像,并在中间部分使用重复Y属性或类似方法在Objective-C中不起作用,对吧?

第二个问题:一般来说,有人对如何处理文本扩展事物有很好的建议吗?我希望描述文字最初只是一个预告片,这样它就不会占用整个屏幕。如果用户想继续阅读,则在点击“更多”按钮时,该框应展开并显示整个文本。
对于理论来说是如此。.我对如何完成这项工作一无所知,并希望有人可能对此有所投入。

非常感谢您抽出宝贵时间来帮助新手:-)

最佳答案

我不会使用b / g图像,因为正如您自己指出的那样,垂直扩展会出现问题。我宁愿使用常规的UIView和以下方法将其转弯。

#import <QuartzCore/QuartzCore.h>

view.layer.cornerRadius = 5;

至于文字扩展。我不会尝试使图像换行,因为它很难。
对于自动UITextView调整,您可以执行以下操作。
  • 设置UITextView框架较小。
  • 创建一个“更多”按钮,它将更改UITextView的框架并为其设置动画

  • 例:
    #define MOVE_ANIMATION_DURATION_SECONDS 0.5
    
    -(void)maximize:(BOOL)animated{
        if(animated){
            [UIView beginAnimations:nil context:nil];
            [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
            [UIView setAnimationDuration:MOVE_ANIMATION_DURATION_SECONDS];
            [UIView setAnimationDelegate:self];
    
            [self setMaximizedViewState];
    
            [UIView commitAnimations];
        }else
            [self setMaximizedViewState];
    
    }
    
    -(void)minimize:(BOOL)animated{
        if(animated){
            [UIView beginAnimations:nil context:nil];
            [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
            [UIView setAnimationDuration:MOVE_ANIMATION_DURATION_SECONDS];
            [UIView setAnimationDelegate:self];
    
            [self setMinimizedViewState];
    
            [UIView commitAnimations];
        }else
            [self setMinimizedViewState];
    
    }
    
    -(void)setMinimizedViewState{
        isMinimized = YES;
    
        //Adjust the UITextView's frame and other properties
    }
    
    -(void)setMaximizedViewState{
        isMinimized = NO;
    
        //Adjust the UITextView's frame and other properties
    }
    

    关于iphone - iPhone应用程序-白盒子根据内容动态调整大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6892094/

    10-09 07:04
    查看更多