实例化UI的简单方法

在开发中,如果是编码来实例化相关UI,则会经常重复书写同样的代码,以致造成代码冗余。

其实,我们可以根据需要自定义相关的实例化方法,并设置好相关的参数,即可简化实例化方法。

详细实践方法如下(以UIView为例):


步骤1:自定义简化实例化方法

/// 实例化UIView

UIView *InsertView(id view, CGRect rect, UIColor *backColor);


/// 实例化UIView,带边框

UIView *InsertViewWithBorder(id view, CGRect rect, UIColor *backColor, CGFloat borderwidth, UIColor *bordercolor);


/// 实例化UIView,带边框和圆角

UIView *InsertViewWithBorderAndCorRadius(id view, CGRect rect, UIColor *backColor, CGFloat borderwidth, UIColor *bordercolor, CGFloat corRadius);


步骤2:实现自定义实例化的方法

UIView *InsertView(id view, CGRect rect, UIColor *backColor)

{

    return InsertViewWithBorder(view, rect, backColor, 0.0, nil);

}


UIView *InsertViewWithBorder(id view, CGRect rect, UIColor *backColor, CGFloat borderwidth, UIColor *bordercolor)

{

    return InsertViewWithBorderAndCorRadius(view, rect, backColor, borderwidth, bordercolor, 0.0);

}


UIView *InsertViewWithBorderAndCorRadius(id view, CGRect rect, UIColor *backColor, CGFloat borderwidth, UIColor *bordercolor, CGFloat corRadius)

{

    UIView *_view = [[UIView alloc] initWithFrame:rect];

    _view.backgroundColor = backColor;

    

    if (view)

    {

        [view addSubview:_view];

    }

    

    if (bordercolor && 0.0 != borderwidth)

    {

        _view.layer.borderWidth = borderwidth;

        _view.layer.borderColor = bordercolor.CGColor;

    }

    

    if (0.0 != corRadius)

    {

        _view.layer.cornerRadius = corRadius;

    }

    

    return [_view autorelease];

}


步骤3:使用(见效果图)

    // 创建view

    InsertView(self.window, CGRectMake(10.0, 60.0, 60.0, 60.0), [UIColor orangeColor]);


    // 创建带边框的view

    InsertViewWithBorder(self.window, CGRectMake(30.0, 130.0, 60.0, 60.0), [UIColor greenColor], 0.5, [UIColor purpleColor]);

    

    // 创建带边框及圆角的view

    InsertViewWithBorderAndCorRadius(self.window, CGRectMake(60.0, 200.0, 60.0, 60.0), [UIColor brownColor], 1.2, [UIColor redColor], 10.0);



转载于:https://my.oschina.net/potato512/blog/647848

Unity的UI布局是一种简便易行的方法,用于在Unity开发中实现用户界面的设计和排版。它提供了一系列可视化的工具,帮助开发者轻松地创建用户界面元素,并将其放置在屏幕上的适当位置。 Unity的UI布局系统主要基于两个基本概念:容器和布局组件。容器是用来组织和包含UI元素的对象,而布局组件是用来定义和控制元素的位置和尺寸的。 首先,我们需要创建一个空的GameObject作为UI主容器。然后,我们可以通过从UI菜单中添加各种UI元素,如按钮、文本框、图片等,将它们添加为主容器的子对象。然后,可以使用UI布局组件来改变和调整这些子元素的位置和大小。 Unity提供了几种常用的布局组件,如水平布局组件(HorizontalLayout Group)和垂直布局组件(Vertical Layout Group)。它们可以分别将子元素按水平和垂直方向自动排列。此外,还可以使用网格布局组件(Grid Layout Group)来创建网格布局,以及使用弹性布局组件(Flexible Layout Group)来创建自适应布局。 布局组件可以通过修改其属性来自定义布局。例如,可以通过更改布局组件的间距、对齐方式和子元素的大小约束来调整子元素的位置和尺寸。还可以使用布局组件的子对象来分组和管理UI元素,以便更方便地操作它们。 总而言之,Unity的UI布局系统是一个非常强大和灵活的工具,可用于创建各种精美的用户界面。无论是创建一个简单的按钮菜单还是一个复杂的图形界面,UI布局系统都是实现这些目标的理想选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值