2017-01-03 15:34:31 hjp1137 阅读数 547

遇到个需求,视图底部有个设置栏,要求浮在阅读内容的上方,解决方法很简单,代码如下所示:

self.view.bringSubview(toFront: self.testview)

testview 就是浮出的设置栏,可以是各种子控件

2015-03-04 20:28:34 cg1991130 阅读数 7976

    TabBar大家应该不会陌生,也是我们经常接触的控件,与navigation类似。首先来看下它的属性:



Background用来摄住TabBar的背景图片。

Shadow设置阴影。

Selection用来设置TabBar选中后会出现的图片。

Style:用于设置TabBar的样式,默认的是白底,也可以设置成黑底。

Bar Tint:用于设置背景颜色

Item positioning:用于设置TabBar中item的位置。


TarBarItem就是TabBar上的按钮,现在我们来看看TarBarItem的属性:



Badge比较有意思,用于设置右上角的红圈数字,比如未读消息的数量。把它设为1看下效果:



System Item用于设置图标的样式,都是系统自带的样式,可以找到我们常用的五角星、放大镜。

当System Item设置为custom时我们就可以使用Selected Image了。

Title Position用于设置位置。


TabBar Controller包含了以个TabBar和多个UIViewController,通过底部TabBar来控制屏幕上的视图。我们可以在创建工程的时候直接创建Tabbed Application。

新工程点击运行就能看到效果:


如果要再加一个视图,那么直接拖一个View Controller进来,然后鼠标右键从tabbarcontroller视图拖到新加入的视图中去,然后松开鼠标,选择最后一个view controllers。再运行时就能看到三个视图了,接下来点击新加入的视图底部就能设置图标和标题。注意触控板模拟鼠标右键需要按住control按钮。之后我们可以设定一个第三张视图的按钮样式,效果如图:




2017-01-17 11:13:50 qiwenmingshiwo 阅读数 750

UISegmentedControl——选项卡控件.


一、- initWithItems: 实例化

// swift
init(items items: [AnyObject]?)
// objective-c
- (instancetype nonnull)initWithItems:(NSArray * nullable)items

二、基本设置

NSArray *items = @[@"2列", @"3列", @"4列"];
UISegmentedControl *control = [[UISegmentedControl alloc] initWithItems:items];

三、获得当前被选中的标签位置

//获得当前被选中的标签位置
int index = control.selectedSegmentIndex;

四、事件监听

–监听UISegmentedControl的状态改变,应该用Value Changed事件(参照UISlider的使用)

2017-03-02 17:26:09 wang_gwei 阅读数 1507

最近在使用Swift编写程序时 使用UIView动画 对约束执行动画遇到了一个小坑

 

1.在控制器中添加一个 容器view, 容器view的约束是宽高都是300/ 水平居中/ 竖直居中

2. 在容器view中添加一个imageView, imageView的约束是:和容器view等宽等高 / 水平居中 /顶部对齐

着这里希望通过修改imageView的顶部约束来执行动画

 

private func startAnimation(){
    
        self.imageViewCons.constant = -self.contentViewCons.constant;
        self.imageView.layoutIfNeeded();
        
        UIView.animateWithDuration(2.0, animations: { () -> Void in
            self.imageViewCons.constant = self.contentViewCons.constant;
            UIView.setAnimationRepeatCount(MAXFLOAT);
            // 修改布局约束
            self.imageView.layoutIfNeeded();
            
            }) { (_) -> Void in
                
        };
    }


结果是直接停止在最终状态.

 

因为在使用约束添加动画的时候,有个原则就是动画要添加到当前视图的父视图上

所以我们需要修改更新约束的对象为父视图

 

private func startAnimation(){
        
        self.imageViewCons.constant = -self.contentViewCons.constant;
        self.contentView.layoutIfNeeded();
        
        UIView.animateWithDuration(2.0, animations: { () -> Void in
            self.imageViewCons.constant = self.contentViewCons.constant;
            UIView.setAnimationRepeatCount(MAXFLOAT);
            // 调用父视图的刷新约束
            self.contentView.layoutIfNeeded();
            
            }) { (_) -> Void in
                
        };
    }

这样动画既可以正常执行了.
 

 

 

 

swift 之 UIToolbar

阅读数 419

iOS里设置控件的边框和圆角效果图

博文 来自: u013892686
没有更多推荐了,返回首页