#define MARGIN 10.0f
在你-layoutSubviews方法,這樣做:
[ label sizeToFit ] ;
CGRect r = label.frame ;
r.origin = (CGPoint){ CGRectGetMaxX(imageView.frame) + MARGIN, CGRectGetMidY(imageView.frame) - 0.5 * r.size.height } ;
label.frame = CGRectIntegral(r) ;
更新這裏是如何居中圖像視圖和標籤單元
bounds
應設置封閉視圖的邊界
//
// center an image view + label in parent view, with label to right of image view
//
[ label sizeToFit ] ;
CGSize size = (CGSize){ imageView.image.size.width + MARGIN + label.bounds.size.width,
MAX(imageView.image.size.height, label.bounds.size.height } ;
CGRect r = (CGRect){
{ CGRectGetMidX(bounds) - 0.5 * size.width,
CGRectGetMidY(bounds) - 0.5 * size.height },
size }
} ;
CGRect imageFrame, labelFrame ;
CGRectDivide(r, &imageFrame, &labelFrame, imageView.image.size.width, CGRectMinXEdge) ;
imageView.frame = imageFrame ;
labelView.frame = labelFrame ;
你能發表一些快照嗎? – 2012-03-13 05:33:41
我已添加快照。圖像的大小是固定的,但是位置應該隨着標籤的長度而改變。 對不起,我可憐的英語.. – 2012-03-13 05:40:06