2011-07-31 14 views
1

我试图建立我的第一个iPhone应用程序,柏林博物馆指导,我有一个小麻烦搞清楚如何设计一个特定的视图。我做的我用Photoshop的所有视图样机,但现在实际上使得它在Xcode中出现的情况是:-)iPhone应用程序 - 白盒大小自适应动态,根据内容

所以别的东西,当然,这里就是我想要的:

[我要去后的图像在这里,但因为我是新我没有足够的信誉发表图片]

这里找到映象: http://img9.uploadhouse.com/fileuploads/13445/13445099d5adea77b02fe1d76755da6b81c92634.png

我想要一个白色的盒子,在它的几个文本部分。大标题,小标题和放在图像旁边的较长文字。那里的文本由我的核心数据模型提供,并根据用户正在查看的展览进行更改。

第一个问题:是否有一个“白盒与圆角对象”中,我可以将文本,图像等,或者我会导入此为自定义图像这样的事情?在这种情况下,如果我想让盒子改变它的大小,我会遇到一个问题,就像简单地缩放图像一样,圆角会变形。我假设一个CSS-stye方法,图像和做一个repeat-y属性的中间部分或类似的东西不会在objective-c中工作,对吧?

第二个问题:有没有人对如何处理文本扩大在一般的东西好建议?我希望描述文字最初只是一个传情,所以它不会占用整个屏幕。如果用户想继续阅读,点击“更多”按钮时,该框应展开并显示整个文本。 理论如此之多..我对如何完成这项工作有点无知,并希望有人可能会对此有所帮助。

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

+0

有文字图像缠是一个非常非常复杂的事情。既然你是新手,我不会建议这样一种方法。 – Maggie

+0

我同意Maggie关于文本包装,尝试去更简单的事情或使用UIWebView,在那里你可以从网络加载更复杂的内容。 – Cyprian

回答

2

因为要与垂直扩展的问题,正如你指出你自己,我不会使用B/G图像。我宁愿使用常规的UIView和以下方法使其角落。

#import <QuartzCore/QuartzCore.h> 

view.layer.cornerRadius = 5; 

至于文字的扩展。我不会尝试使图像环绕文本,因为它很难。 对于automatica 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 
} 
+0

非常感谢,这工作就像一个魅力! – Julia

+1

炉排可以帮助,请批准这个答案。 – Cyprian

相关问题