Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone应用程序-白盒根据内容动态调整大小_Iphone_Objective C_Ios_Xcode_Interface Builder - Fatal编程技术网

iPhone应用程序-白盒根据内容动态调整大小

iPhone应用程序-白盒根据内容动态调整大小,iphone,objective-c,ios,xcode,interface-builder,Iphone,Objective C,Ios,Xcode,Interface Builder,我正在尝试构建我的第一个iPhone应用程序,一个柏林博物馆指南,我在弄清楚如何设计一个特定的视图时遇到了一点困难。我以前用Photoshop制作过我所有视图的模型,但现在在Xcode中实现这一点是另外一回事,当然:-) 所以,我想要的是: [我本打算在这里发布一张图片,但由于我是新手,我没有足够的声誉来发布图片。] 请在此处找到图像: 我想要一个有几个文本部分的白色框。放在图像旁边的大标题、小标题和长文本。其中的文本由我的核心数据模型提供,并根据用户正在观看的展览而变化 第一个问题:是否有“

我正在尝试构建我的第一个iPhone应用程序,一个柏林博物馆指南,我在弄清楚如何设计一个特定的视图时遇到了一点困难。我以前用Photoshop制作过我所有视图的模型,但现在在Xcode中实现这一点是另外一回事,当然:-)

所以,我想要的是:

[我本打算在这里发布一张图片,但由于我是新手,我没有足够的声誉来发布图片。]

请在此处找到图像:

我想要一个有几个文本部分的白色框。放在图像旁边的大标题、小标题和长文本。其中的文本由我的核心数据模型提供,并根据用户正在观看的展览而变化

第一个问题:是否有“带圆角的白色框对象”这样的东西,我可以在其中放置文本、图像等,或者我必须将其作为自定义图像导入?在这种情况下,如果我想改变长方体的大小,我会遇到一个问题,因为简单地缩放图像,圆角就会失真。。我假设一个CSS风格的方法有一个顶部和底部的图像,中间部分有一个repeat-y属性或者类似的东西,在objective-c中不起作用,对吧

第二个问题:在如何处理文本扩展的问题上,有人有好的建议吗?我希望描述文本最初只是一个挑逗,这样它就不会占据整个屏幕。如果用户希望继续阅读,点击“更多”按钮,框应展开并显示整个文本。 理论到此为止。。我对如何做到这一点有点不知所措,我希望有人能在这方面提供一些好的意见


非常感谢您花时间帮助一位新手:-)

我不会使用b/g图像,因为垂直扩展会有问题,正如您自己所指出的。我宁愿使用一个常规的
UIView
和下面的方法来使它的角变圆

#import <QuartzCore/QuartzCore.h>

view.layer.cornerRadius = 5; 

让文本环绕图像是一件非常复杂的事情。因为你是一个新手,我不建议这样的方法。我同意Maggie关于文本包装的观点,尝试使用更简单的方法,或者使用UIWebView,在那里你可以从web加载更复杂的内容。Grate可能会有帮助,请批准这个答案。
#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
}