OC語言中,NSString類型的字串,視英文字母和漢字都為一個長度(string.length把一個漢字也當做一個長度),而實際上,一個英文字母只佔用1個位元組,一個漢字佔用2個位元組。有時又有需求,需要限定位元組數目,而不是內容個數,就需要通過一些方法擷取到字串的位元組數。比如,限定10個位元組,則最多可以輸入10個英文字母,或者5個漢字。監聽textField的長度變化,就需要設定textField的代理。但是有個bug,監聽內容變化的代理方法-
1、UINavigationController導航控制器如何使用UINavigationController可以翻譯為導航控制器,在iOS裡經常用到。我們看看它的如何使用:下面的圖顯示了導航控制器的流程。最左側是根視圖,當使用者點擊其中的General項時
作為新手寫的筆記,方便自己記憶:從android轉過來iOS的,對於頁面的跳轉,找了很多資料,現在記錄一下頁面跳轉的方法。1.用navigationController2.直接跳(剛剛在網上找到的,不太熟,有錯莫怪)1.建一個RootViewController,在delegate.h複製代碼 代碼如下:@property (strong, nonatomic) UIViewController *viewController;@property (strong, nonatomic)
剛接觸IOS開發1年多,現在對於混合式移動端開發越來越流行,因為開發成本上、速度上都比傳統的APP開發要好,混合式開發是傳統模式與PC網頁端相結合的模式。那麼提到了 APP的混合模式開發,在Android開發中有WebView作為混合模式開發的橋樑,當然在IOS中也同樣有一個 UIWebView 組件來作為混合模式開發的橋樑,那麼下面就對UIWebView的一些基本知識詳解一下。一、UIWebView的基礎使用1、建立UIWebView:CGRect bouds = [[UIScreen
UICollectionView 比tableView 靈活,功能也強大很多。系統實現了流式布局,但用處還有很多限制。要想實現更靈活的布局,就咬重寫UICollectionViewLayout。先看下實現效果:廢話不多說,直接上代碼:先看WaterfallCollectionLayout.m#import "WaterfallCollectionLayout.h"#define colMargin 5#define colCount 4#define rolMargin 5@interface
UILabel的使用一、初始化複製代碼 代碼如下:UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 120, 44)]; [self.view addSubview:myLabel];二、設定文字 ①、設定預設文本複製代碼 代碼如下:NSString *text = @"標籤文本";myLabel.text =
涉及到的技術點 CATransform3DRotate 轉換座標系 整體視圖的層級結構 tvOSCardView cardImageView cardParallaxView 轉換座標系的代碼CGFloat xFactor = MIN(1, MAX(-1, (touchPoint.x - (self.bounds.size.width / 2)) / (self.bounds.size.width / 2)));CGFloat yFactor = MIN(1, MAX(-1,
大家都是知道使用宏不僅方便,而且可以提高開發效率。下面總結了iOS開發過程中的一些常用宏,會持續的往裡面添加。Objective-C//字串是否為空白#define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO )//數組是否為空白#define kArrayIsEmpty(array) (array == nil ||
通過CoreLocation定位,擷取到使用者當前位置,跟地圖中的定位不同。一、匯入CoreLocation.framework二、#import <CoreLocation/CoreLocation.h>三、聲明代理 <CLLocationManagerDelegate>四、代碼實現1、聲明CLLocationManager *locationManager;//定義Manager// 判斷定位操作是否被允許if([CLLocationManager
一、實現效果圖二、實現思路:用一個固定的png圖片左啟動圖,應該和廣告視圖需要進行動畫的期初的位置一致,當啟動圖消失的時候,呈現出圖片,實際遇到的困難是,因為廣告圖片是從網路請求載入的,當時把廣告視圖放在了請求資料的塊裡面,廣告出現的時候會閃一下,放在外面就沒事了。三、實現樣本1.廣告的標頭檔// XBAdvertView.h // scoreCount // // Created by 王國棟 on 15/12/22. // Copyright © 2015年 xiaobai.
先來看看效果圖下面話不多少,我們直接上代碼:#import "ViewController.h"@interface ViewController ()<UINavigationControllerDelegate,UIImagePickerControllerDelegate>@property (weak, nonatomic) IBOutlet UIImageView *IconView;@end@implementation ViewController-
廢話不多說了,直接給大家貼關鍵代碼了,具體代碼如下所示:#import <UIKit/UIKit.h>@interface SearchBar : UITextField@property (nonatomic,strong) UIButton *button;+ (instancetype)searchBar;@end#import "SearchBar.h"@implementation SearchBar-
微信支付互動圖(一) 微信支付互動圖(二)配上自己的理解說明:(不斷更新中…)微信支付的流程圖:1、完成支付主要有三方構成:
效果示範百度外賣 波浪效果圖:你需要知道的CADisplayLink簡單的說就是一定時器,其根本利用刷幀和螢幕頻率一樣來重繪渲染頁面.其建立方式:CADisplayLink *timer = [CADisplayLink displayLinkWithTarget:self selector:@selector(wave)];[timer addToRunLoop:[NSRunLoop currentRunLoop]
本文分享了iOS Gif圖片展示N種方式,供大家參考,具體內容如下原生方法:1.UIWebView 特點:載入速度略長,效能更優,播放的gif動態圖更加流暢。//動態展示GIF圖片-WebView-(void)showGifImageWithWebView{ //讀取gif圖片資料 NSData *gifData = [NSData dataWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"earthGif" ofType:
CAGradientLayer相信大家都比較熟悉,關於其如何使用,我就不在這裡廢話了,網上有很多介紹,想詳細瞭解的話,可以去看看。我只簡單說下如何利用CAGradientLayer製作螢幕解鎖文字動畫效果。1、建立一個CAGradientLayer對象gradLayer,設定它的frame和label.bounds一樣(這裡要注意一下是Label的bounds不是frame);2、這裡我給gradLayer.colors一共設定了三個顏色值,首尾顏色透明度設定成0.3,
LXWaveProgressA simple wave components一個簡單的波浪進度動畫,高度可定製。具體效果見Demo。使用方法 LXWaveProgressView *progressView1 = [[LXWaveProgressView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; progressView1.center=CGPointMake(CGRectGetMidX(self.view.bounds), 270);
廢話不多說了,直接給大家上關鍵代碼了,具體代碼如下所述:- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText // called when text changes (including clear){if (searchBar.text.length > IMPUT_MAX){searchBar.text = [searchBar.text substringToIndex:15];
1、AVPlayer(1) 優缺點優點:可以自訂 UI, 進行控制缺點:單純的播放,沒有控制 UI(進度,暫停,播放等按鈕),而且如果要顯示播放介面, 需要藉助AVPlayerLayer, 添加圖層到需要展示的圖層上(2)實現遠程視頻播放實現播放功能(只有聲音)1.匯入架構#import <AVFoundation/AVFoundation.h>2.通過遠程 URL 建立 AVPlayer 對象NSURL *remoteURL = [NSURL
先來看看效果圖用法(類似UITableView)初始化XDMultTableView#import "XDMultTableView.h"...@property(nonatomic, readwrite, strong)XDMultTableView *tableView; _tableView = [[XDMultTableView alloc] initWithFrame:CGRectMake(0, 64, self.view.frame.size.width,