• UIView *view = [[UIView alloc]initWithFrame:CGRectMake(self.view.frame.size.width-50,20, 30, 30)]; view.backgroundColor = [UIColor whiteColor]; view.layer.masksToBounds =YES; ...
        UIView *view = [[UIView alloc]initWithFrame:CGRectMake(self.view.frame.size.width-50,20, 30, 30)];
    
        view.backgroundColor = [UIColor whiteColor];
    
        view.layer.masksToBounds =YES;
    
        view.layer.cornerRadius =15;
    
        //获取当前UIWindow 并添加一个视图
    
        UIApplication *ap = [UIApplication sharedApplication];
    
        [ap.keyWindowaddSubview:view];

     

    展开全文
  • swift UITableView 表视图

    2014-06-30 18:00:28
    // AppDelegate.swift // swiftTableView // // Created by baojia on 14-6-30. // Copyright (c) 2014年 baojia. All rights reserved. // import UIKit @UIApplicationMa

    //

    //  AppDelegate.swift

    //  swiftTableView

    //

    //  Created by baojia on 14-6-30.

    //  Copyright (c) 2014 baojia. All rights reserved.

    //


    import UIKit


    @UIApplicationMain

    class AppDelegate: UIResponder, UIApplicationDelegate {

                                

        var window: UIWindow?



        func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {

            self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

            // Override point for customization after application launch.

            self.window!.backgroundColor = UIColor.whiteColor()

            self.window!.makeKeyAndVisible()

            self.window!.rootViewController=RootViewController();

            return true

        }


        func applicationWillResignActive(application: UIApplication) {

            // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.

            // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.

        }


        func applicationDidEnterBackground(application: UIApplication) {

            // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.

            // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.

        }


        func applicationWillEnterForeground(application: UIApplication) {

            // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

        }


        func applicationDidBecomeActive(application: UIApplication) {

            // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.

        }


        func applicationWillTerminate(application: UIApplication) {

            // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.

        }



    }





    //

    //  RootViewController.swift

    //  swiftTableView

    //

    //  Created by baojia on 14-6-30.

    //  Copyright (c) 2014 baojia. All rights reserved.

    //


    import UIKit


    class RootViewController: UIViewController,UITableViewDataSource,UITableViewDelegate

    {


    //    init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {

    //        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)

    //        // Custom initialization

    //    }

        // 生命全局变量

        

        //数据源

        var  dataArr = NSMutableArray();

        //声明tableView

        var tableView :UITableView?;

        

        


        override func viewDidLoad()

        {

            super.viewDidLoad()

            

            // 初始化数据

            setData();

            //设置布局

            setLayout();

            


            // Do any additional setup after loading the view.

        }

        

        func setData()

        {

            for(var i=0 ;i<20 ;i++)

            {

                dataArr.addObject("\(i)");

            }

            println("初始数据完毕,如下:\(dataArr)");

        

        }

        

        

        

        //布局方法

        func setLayout()

        {

            var  rect=self.view.bounds;

            //  创建TableView

            tableView = UITableView(frame:rect,style:.Plain);

            // 设置代理

            tableView!.delegate=self;

            tableView!.dataSource=self;

            //添加视图

            self.view.addSubview(tableView);

            

        

        

        }

        

        

       //UITableViewDataSource 代理办法

        func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int

        {

          

            return dataArr.count;

        

        }

        

        func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!

        {

          let CellId="my cell";

            var cell = tableView.dequeueReusableCellWithIdentifier(CellId) as? UITableViewCell;

            if(cell==nil)

            {

                cell=UITableViewCell(style:.Default,reuseIdentifier:CellId);

            }

            

            var s = dataArr.objectAtIndex(indexPath.row) as? String;

            

            cell!.textLabel.text = s;

            return cell;

        

        }

        

        

        

        


        override func didReceiveMemoryWarning() {

            super.didReceiveMemoryWarning()

            // Dispose of any resources that can be recreated.

        }

        

        

        


        /*

        // #pragma mark - Navigation


        // In a storyboard-based application, you will often want to do a little preparation before navigation

        override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) {

            // Get the new view controller using [segue destinationViewController].

            // Pass the selected object to the new view controller.

        }

        */


    }





    展开全文
  • 在OC编程时,我们可以使用一个prefix文件对于常用的变量和常量甚至方法进行定义,(比如SCREEN_WIDTH)以提高开发效率,然而在swift开发的时候,这样的做法就会比较麻烦,因为涉及到oc和swift的交互. 但是,由于swift的变量...

    在OC编程时,我们可以使用一个prefix文件对于常用的变量和常量甚至方法进行定义,(比如SCREEN_WIDTH)以提高开发效率,然而在swift开发的时候,这样的做法就会比较麻烦,因为涉及到oc和swift的交互.

    但是,由于swift的变量权限放的比较宽松,所以swift以另一种方式给我们提供了一个更安全更有效的解决方案.

    其实现也是非常方便的:

    1.新建一个swift文件

    2.写入常量及方法

    import Foundation
    import UIKit
    
    /*********颜色***********/
    //RGB转换
    func RGB(r:CGFloat,g:CGFloat,b:CGFloat) ->UIColor{
        //
        return UIColor(red: r/225.0, green: g/225.0, blue: b/225.0, alpha: 1.0)
    }
    
    //主题色
    public let THEME_COLOR=UIColor(red: 33/255.0, green: 41/255.0, blue: 54/255.0, alpha: 1.0)
    //背景色
    public let BG_COLOR=UIColor(red: 246/225.0, green: 246/225.0, blue: 246/225.0, alpha: 1.0)
    //分割线颜色
    public let LINE_COLOR=UIColor(red: 217/225.0, green: 217/225.0, blue: 217/225.0, alpha: 1.0)
    
    /*********尺寸***********/
    
    //设备屏幕尺寸
    public let SCREEN_WIDTH=UIScreen.mainScreen().bounds.size.width
    public let SCREEN_HEIGHT=UIScreen.mainScreen().bounds.size.height
    
    //获取视图尺寸
    public func VIEW_WIDTH(view:UIView)->CGFloat{
        return view.frame.size.width
    }
    public func VIEW_HEIGHT(view:UIView)->CGFloat{
        return view.frame.size.height
    }
    
    /*********网络***********/
     
    //判断网络是否可用
    public func NETWORK_AVILIABLE()->Bool{
        //
        let reachability:Reachability
        do{
            reachability=try Reachability.reachabilityForInternetConnection()
            
            if (reachability.isReachable()){
                //
                print("network is available")
                return true
            }
            else{
                //
                print("network is not available")
                return false
            }
            
        }
        catch{
            //
            print("Unable to create Reachability")
            return false
        }
        
    }



    如此,你便可以如以前一样,随心所欲的订制自己的习惯,甚至比prefix文件看起来更舒服,编译起来也比较快速.

    当然,在判断网络方面,需要导入Reachability.swift 地址在这里


    最后想说一下,swift作为一个比较新型的语言,在很多方面文献和资料都不是特别多,所以这就需要我们扩大搜索范围,最近的学习中,深切认识到度娘已经完全不能满足我们的学习,所以,建议朋友们尽量使用Google来找资料,一方面范围更广,另一方面也提高下自己的英文文献阅读能力,毕竟外面的世界很精彩!!!

    展开全文
  • 一劳永逸,iOS网页视图控制器通用类封装
  • 对于UILabel的相关内容,其他...//设置全局变量,将下面的替换即可  var myLabel = UILabel();  //系统生成的viewDidLoad()方法  override func viewDidLoad() {  super.viewDidLoad()  // Do any additional set

    对于UILabel的相关内容,其他控件可以相似创建

    //设置全局变量,将下面的 let 去掉,然后替换即可
        //var myLabel = UILabel();
        //系统生成的viewDidLoad()方法
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            
            //创建局部变量UILabel
            let myLabel = UILabel.init(frame: CGRectMake(100, 100, 80, 50));
            //添加文字
            myLabel.text="haha哈哈ha";
            //设置字体大小
            myLabel.font = UIFont.systemFontOfSize(22);
            //设置字体颜色
            myLabel.textColor = UIColor.purpleColor();
            //设置字体对其方式
            myLabel.textAlignment = NSTextAlignment.Center;
            //设置背景色
            myLabel.backgroundColor = UIColor.redColor();
            // 设置是否能与用户进行交互,这个当需要点击UILabel时需要设置
            myLabel.userInteractionEnabled = true;
            // 设置文本过长时的显示格式,默认居中
            //myLabel.lineBreakMode = NSLineBreakMode.ByTruncatingMiddle;
            // 设置字体大小适应 UILabel 宽度,这个可以自动将字体缩小显示
            myLabel.adjustsFontSizeToFitWidth = true;
            // 如果不想将文字缩小自适应,可以设置 UILabel 的行数
            //myLabel.numberOfLines = 2;
            //添加视图
            self.view.addSubview(myLabel);
        }

    展开全文
  • 一般用Scrollview来实现几个界面间的滑动,这后就建立了三个界面类Page1,Page2,Page3方便管理。...很明显Page1被ScrollView监听了。  在网上找了很多方法,都不行。...向scrollview中添加一个子view这样子view只能显

      一般用Scrollview来实现几个界面间的滑动,这后就建立了三个界面类Page1,Page2,Page3方便管理。当我向Page1添加按钮时问题就出来了,点击按钮没响应。很明显Page1被ScrollView监听了。

      在网上找了很多方法,都不行。最后才发现我是向ScrollView再addsubView(page1.view);向scrollview中添加一个子view这样子view只能显示,却不能监听事件。

    Page1 *page1=[Page1 alloc] init];
    [self.scrollView addSubview:page1.view];

       而向scrollview直接添加button却能监听,这样就找到了解决办法:将Page1中button等需要监听的按钮就定义为全局变量,再scrollview中直接addsubView Page1中的控件就OK了。

    [self.scrollView addSubview:page1.buttonName];
    
      昨天有个类似的问题也是这样,按钮无反应,就咨询了下同事才发现原来我没有加上addchildviewController,将控制器交给子视图,加上之后,也可以完成事件响应。
    
    [self addChildViewController:_order];

    
    

      自己为这个问题也困惑了很久,希望能给大家带来帮助。如有更好办法,希望您能提出来,大家能一起学习进步。




    展开全文
  • swift weibo 访客视图

    2019-07-16 16:21:42
    //修改全局颜色 UINavigationBar.appearance().tintColor = UIColor.orangeColor() UITabBar.appearance().tintColor = UIColor.orangeColor() 1.创建基本视图 baseView:UItableViewController 因为微博显示...
  • 手势点击子视图的时候不响应父视图的点击事件;一句代码搞定:if( CGRectContainsPoint(_BGView.frame, [sender locationInView:_TableBGView])) { }else{ [_BGView removeFromSuperview]; };
  • 在UITableView里面添加了头部视图后,如果头部视图大于界面的高度,可以滑动,但是如果这时候再给添加cell的时候,发现cell并不出现,而且头部也不能滑动,即使可以滑动也没有出现cell。 只要继承UITableView,并...
  • 英语原文地址:Dark Mode: Adding support to your app in Swift - SwiftLee Dark Mode在iOS 13中引入,并在WWDC 2019上宣布。它为iOS添加了更暗的主题,并允许您对应用执行相同的操作。这是给用户的绝佳补充,使...
  • iOS-swift-自定义弹框

    2018-05-16 18:56:55
    弹框(在这里使用了 Spring动画框架) Spring动画可以参考我的这篇文章 ... 界面中间的弹框 // // SmileAlert.swift // H56580E2E // // import UIKit import Spring class SmileAl...
  • 视图层次过多带来的问题: 1.内存消耗过高 2.视图渲染压力大 3.appium定位不上!! 好处就是能显示出来,程序设计者用了一堆框架嵌套层次深,写起来容易 ======== 如何凸显一个程序员的优秀 应该是从全局角度...
  •  在工作中遇到一个全局弹出的Alert的情况,所以需要获取到当前的VC。第一时间想到了通过“响应链”来获取,看网上有很多这方面的帖子,但是最后都没有解决我的问题,所以做此记录。 首先,先简单的解释下响应链,...
  • 一个更完善的Swift倒计时按钮(附后台权限申请) 如今越来越多app使用手机号码作为用户名,其中总是要涉及到验证码的发送。 倒计时按钮实现关键点: 当前视图控制器销毁后倒计时计数的再恢复 不同页面可能使用同一...
  • 在看了其他语言的单例实现后,于是去查了一下swift单例的实现,发现swift单例实现及其的简单,简单到我对它正确性产生怀疑。我们首先简单了解一下单例模式。 单例规则 单例必须是唯一的,所以它才被称为单例。...
  • Swift基础之UITextField

    2016-07-05 10:11:57
    //设置全局变量,将下面的替换即可  //var myTextField = UITextField();  //系统生成的viewDidLoad()方法  override func viewDidLoad() {  super.viewDidLoad()  // Do any additional setup after ...
  • 原文:http://coolketang.com/staticCoding/5a99104f9f545450741738f7.html1. 在欢迎窗口右侧的历史项目列表中,双击打开之前创建的导航控制器项目... 定义一个全局变量,用来记录当前显示视图的编号。 5. 每当当...
  • 原文地址:...1.swift为什么不需要main 在c/c++及其它语言中都有一个main函数,程序从main作为起点,开始执行程序,如下: int main(int argc, const char * argv[]) { printf("Hello, World!\...
  • swift中UIWindow的使用

    2016-10-28 15:04:38
    用来管理和协调各种视图。提供一个区域来显示视图, 将事件event分发给视图。 每个iOS应用必须包含一个window用于展示APP的交互页面, 且一个APP通常只有一个UIWindow, 包含了APP的可视内容。 显示优先级, ...
  • 研究了一段时间,总算搞定了这... //swift中的get方法,可以直接varget或letget显示提示,如果使用的是get方法创建视图,调用添加到父类上的时候,要self._参数,如self._wkWebV,如此就可以看出来这个get方法的名称可
1 2 3 4 5 ... 20
收藏数 2,072
精华内容 828