现有需求如下:文字内容靠左对齐,后面紧跟一张图片,效果如下
文字的宽度是固定的,但文字的内容的长度是不固定的,后面的星星没有紧靠文字
实际运行出来的效果是这样的:
安卓系统下有android:layout_toRightOf
所以就自定义了个分类:UIView+RelativeLayout
#import <UIKit/UIKit.h>
@interface UIView (RelativeLayout)
-(void)layoutToRightOf:(UIView *) view AndSpace:(CGFloat )x;
@end
#import "UIView+RelativeLayout.h"
@implementation UIView (RelativeLayout)
-(void)layoutToRightOf:(UIView *) view AndSpace:(CGFloat )x;
{
CGRect viewFrame = view.frame;
//自适应宽高
[view sizeToFit];
//这里只自适应宽度
viewFrame.size.width = view.frame.size.width;
view.frame = viewFrame;
CGFloat selfX = viewFrame.origin.x + viewFrame.size.width + x;
CGRect selfFrame = self.frame;
selfFrame.origin.x = selfX;
[self setFrame:selfFrame];
}
@end
//调用,space是相距多少
[cell.level layoutToRightOf:cell.name AndSpace:0];
其它的像android:layout_toLeftOf,android:layout_below,android:layout_above等都可以自己添加