xcode开发ios
2013-09-05 12:17:48 leewolf130 阅读数 3472

IOS 开发之:ios字体设置

 

ios中的字体:

    字体是图形用户界面显示文本的基础。Cocoa在UIKit框架中为开发者提供了高层次的API以及方便的枚举、加载和使用字体。Cocoa Touch 使用UIFont 类来封装字体。每个ios设备都内置了系统字体。字体被组织成字体族科(Families),每个族科又包含字样(Faces)。例如,Helvetica 是一个字体族科,Helvetica Bold是Helvetica族科中的一个字样。要加载字体,你必须知道字体的字样(字体的名字),要知道字样,你必须知道它的族科。怎么获取系统字体的族科呢,我们可以循环输出系统字体族科,使用UIFont类的familyNames类方法,通过这个类方法得到字体族科名字然后用UIFont类的fontNamesForFamilyName:类方法,传递family name作为参数,并返回一个字体名称的数组(array):

 

1
2
3
4
5
6
7
8
9
10
11
12
    // Get all the fonts on the system
NSArray *familyNames = [UIFont familyNames];
for( NSString *familyName in familyNames ){
 
    printf( "Family: %s \n", [familyName UTF8String] );
 
    NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
    for( NSString *fontName in fontNames ){
 
        printf( "\tFont: %s \n", [fontName UTF8String] );
    }
}

[plain] view plaincopy
  1. (void)enumerateFonts{  
  2.       for(NSString *familyName in [UIFont familyNames]){  
  3.       NSLog(@"Font FamilyName %@",familyName); //*输出字体族科名字  
  4.   
  5.         for(NSString *fontName in [UIFont fontNameForFamilyName:familyName]){  
  6.             NSLog(@"\t%@",fontName);         //*输出字体族科下字样名字  
  7.          
  8.      
  9.  

 

 

在ios模拟器上运行代码,得到如下结果:

...
Font Family = Geeza Pro
GeezaPro
GeezaPro-Bold
Font Family = Helvetica Neue
HelveticaNeue-Italic
HelveticaNeue-Bold
HelveticaNeue-BoldItalic
HelveticaNeue

...

字体族科后面加-Bold就是加粗 加-Oblique就是倾斜等


iPhone 5.0 iPad 5.0
Font Families: 58 Font Families: 58
Academy Engraved LET
AcademyEngravedLetPlain AcademyEngravedLetPlain
American Typewriter
AmericanTypewriter-CondensedLight AmericanTypewriter-CondensedLight
AmericanTypewriter-Light AmericanTypewriter-Light
AmericanTypewriter AmericanTypewriter
AmericanTypewriter-Condensed AmericanTypewriter-Condensed
AmericanTypewriter-Bold AmericanTypewriter-Bold
AmericanTypewriter-CondensedBold AmericanTypewriter-CondensedBold
Apple Color Emoji
AppleColorEmoji AppleColorEmoji
Apple SD Gothic Neo
AppleSDGothicNeo-Medium AppleSDGothicNeo-Medium
AppleSDGothicNeo-Bold AppleSDGothicNeo-Bold
Arial
ArialMT ArialMT
Arial-ItalicMT Arial-ItalicMT
Arial-BoldMT Arial-BoldMT
Arial-BoldItalicMT Arial-BoldItalicMT
Arial Hebrew
ArialHebrew ArialHebrew
ArialHebrew-Bold ArialHebrew-Bold
Arial Rounded MT Bold
ArialRoundedMTBold ArialRoundedMTBold
Bangla Sangam MN
BanglaSangamMN-Bold BanglaSangamMN-Bold
BanglaSangamMN BanglaSangamMN
Baskerville
Baskerville Baskerville
Baskerville-Italic Baskerville-Italic
Baskerville-SemiBold Baskerville-SemiBold
Baskerville-SemiBoldItalic Baskerville-SemiBoldItalic
Baskerville-Bold Baskerville-Bold
Baskerville-BoldItalic Baskerville-BoldItalic
Bodoni 72
BodoniSvtyTwoITCTT-Book BodoniSvtyTwoITCTT-Book
BodoniSvtyTwoITCTT-BookIta BodoniSvtyTwoITCTT-BookIta
BodoniSvtyTwoITCTT-Bold BodoniSvtyTwoITCTT-Bold
Bodoni 72 Oldstyle
BodoniSvtyTwoOSITCTT-Book BodoniSvtyTwoOSITCTT-Book
BodoniSvtyTwoOSITCTT-BookIt BodoniSvtyTwoOSITCTT-BookIt
BodoniSvtyTwoOSITCTT-Bold BodoniSvtyTwoOSITCTT-Bold
Bodoni 72 Smallcaps
BodoniSvtyTwoSCITCTT-Book BodoniSvtyTwoSCITCTT-Book
Bodoni Ornaments
BodoniOrnamentsITCTT BodoniOrnamentsITCTT
Bradley Hand
BradleyHandITCTT-Bold BradleyHandITCTT-Bold
Chalkboard SE
ChalkboardSE-Light ChalkboardSE-Light
ChalkboardSE-Regular ChalkboardSE-Regular
ChalkboardSE-Bold ChalkboardSE-Bold
Chalkduster
Chalkduster Chalkduster
Cochin
Cochin Cochin
Cochin-Italic Cochin-Italic
Cochin-Bold Cochin-Bold
Cochin-BoldItalic Cochin-BoldItalic
Copperplate
Copperplate-Light Copperplate-Light
Copperplate Copperplate
Copperplate-Bold Copperplate-Bold
Courier
Courier Courier
Courier-Oblique Courier-Oblique
Courier-Bold Courier-Bold
Courier-BoldOblique Courier-BoldOblique
Courier New
CourierNewPSMT CourierNewPSMT
CourierNewPS-BoldMT CourierNewPS-BoldMT
CourierNewPS-BoldItalicMT CourierNewPS-BoldItalicMT
CourierNewPS-ItalicMT CourierNewPS-ItalicMT
DB LCD Temp
DBLCDTempBlack DBLCDTempBlack
Devanagari Sangam MN
DevanagariSangamMN DevanagariSangamMN
DevanagariSangamMN-Bold DevanagariSangamMN-Bold
Didot
Didot Didot
Didot-Italic Didot-Italic
Didot-Bold Didot-Bold
Euphemia UCAS
EuphemiaUCAS EuphemiaUCAS
EuphemiaUCAS-Italic EuphemiaUCAS-Italic
EuphemiaUCAS-Bold EuphemiaUCAS-Bold
Futura
Futura-Medium Futura-Medium
Futura-MediumItalic Futura-MediumItalic
Futura-CondensedMedium Futura-CondensedMedium
Futura-CondensedExtraBold Futura-CondensedExtraBold
Geeza Pro
GeezaPro GeezaPro
GeezaPro-Bold GeezaPro-Bold
Georgia
Georgia Georgia
Georgia-Italic Georgia-Italic
Georgia-Bold Georgia-Bold
Georgia-BoldItalic Georgia-BoldItalic
Gill Sans
GillSans-Light GillSans-Light
GillSans-LightItalic GillSans-LightItalic
GillSans GillSans
GillSans-Italic GillSans-Italic
GillSans-Bold GillSans-Bold
GillSans-BoldItalic GillSans-BoldItalic
Gujarati Sangam MN
GujaratiSangamMN GujaratiSangamMN
GujaratiSangamMN-Bold GujaratiSangamMN-Bold
Gurmukhi MN
GurmukhiMN GurmukhiMN
GurmukhiMN-Bold GurmukhiMN-Bold
Heiti SC
STHeitiSC-Light STHeitiSC-Light
STHeitiSC-Medium STHeitiSC-Medium
Heiti TC
STHeitiTC-Light STHeitiTC-Light
STHeitiTC-Medium STHeitiTC-Medium
Helvetica
Helvetica-Light Helvetica-Light
Helvetica-LightOblique Helvetica-LightOblique
Helvetica Helvetica
Helvetica-Oblique Helvetica-Oblique
Helvetica-Bold Helvetica-Bold
Helvetica-BoldOblique Helvetica-BoldOblique
Helvetica Neue
HelveticaNeue-UltraLight HelveticaNeue-UltraLight
HelveticaNeue-UltraLightItalic HelveticaNeue-UltraLightItalic
HelveticaNeue-Light HelveticaNeue-Light
HelveticaNeue-LightItalic HelveticaNeue-LightItalic
HelveticaNeue HelveticaNeue
HelveticaNeue-Italic HelveticaNeue-Italic
HelveticaNeue-Medium HelveticaNeue-Medium
HelveticaNeue-Bold HelveticaNeue-Bold
HelveticaNeue-BoldItalic HelveticaNeue-BoldItalic
HelveticaNeue-CondensedBold HelveticaNeue-CondensedBold
HelveticaNeue-CondensedBlack HelveticaNeue-CondensedBlack
Hiragino Kaku Gothic ProN
HiraKakuProN-W3 HiraKakuProN-W3
HiraKakuProN-W6 HiraKakuProN-W6
Hiragino Mincho ProN
HiraMinProN-W3 HiraMinProN-W3
HiraMinProN-W6 HiraMinProN-W6
Hoefler Text
HoeflerText-Regular HoeflerText-Regular
HoeflerText-Italic HoeflerText-Italic
HoeflerText-Black HoeflerText-Black
HoeflerText-BlackItalic HoeflerText-BlackItalic
Kailasa
Kailasa Kailasa
Kailasa-Bold Kailasa-Bold
Kannada Sangam MN
KannadaSangamMN KannadaSangamMN
KannadaSangamMN-Bold KannadaSangamMN-Bold
Malayalam Sangam MN
MalayalamSangamMN MalayalamSangamMN
MalayalamSangamMN-Bold MalayalamSangamMN-Bold
Marion
Marion-Regular Marion-Regular
Marion-Italic Marion-Italic
Marion-Bold Marion-Bold
Marker Felt
MarkerFelt-Thin MarkerFelt-Thin
MarkerFelt-Wide MarkerFelt-Wide
Noteworthy
Noteworthy-Light Noteworthy-Light
Noteworthy-Bold Noteworthy-Bold
Optima
Optima-Italic Optima-Italic
Optima-Regular Optima-Regular
Optima-Bold Optima-Bold
Optima-BoldItalic Optima-BoldItalic
Optima-ExtraBlack Optima-ExtraBlack
Oriya Sangam MN
OriyaSangamMN OriyaSangamMN
OriyaSangamMN-Bold OriyaSangamMN-Bold
Palatino
Palatino-Roman Palatino-Roman
Palatino-Italic Palatino-Italic
Palatino-Bold Palatino-Bold
Palatino-BoldItalic Palatino-BoldItalic
Papyrus
Papyrus Papyrus
Papyrus-Condensed Papyrus-Condensed
Party LET
PartyLetPlain PartyLetPlain
Sinhala Sangam MN
SinhalaSangamMN SinhalaSangamMN
SinhalaSangamMN-Bold SinhalaSangamMN-Bold
Snell Roundhand
SnellRoundhand SnellRoundhand
SnellRoundhand-Bold SnellRoundhand-Bold
SnellRoundhand-Black SnellRoundhand-Black
Tamil Sangam MN
TamilSangamMN TamilSangamMN
TamilSangamMN-Bold TamilSangamMN-Bold
Telugu Sangam MN
TeluguSangamMN TeluguSangamMN
TeluguSangamMN-Bold TeluguSangamMN-Bold
Thonburi
Thonburi Thonburi
Thonburi-Bold Thonburi-Bold
Times New Roman
TimesNewRomanPSMT TimesNewRomanPSMT
TimesNewRomanPS-ItalicMT TimesNewRomanPS-ItalicMT
TimesNewRomanPS-BoldMT TimesNewRomanPS-BoldMT
TimesNewRomanPS-BoldItalicMT TimesNewRomanPS-BoldItalicMT
Trebuchet MS
TrebuchetMS TrebuchetMS
TrebuchetMS-Italic TrebuchetMS-Italic
TrebuchetMS-Bold TrebuchetMS-Bold
Trebuchet-BoldItalic Trebuchet-BoldItalic
Verdana
Verdana Verdana
Verdana-Italic Verdana-Italic
Verdana-Bold Verdana-Bold
Verdana-BoldItalic Verdana-BoldItalic
Zapf Dingbats
ZapfDingbatsITC ZapfDingbatsITC
Zapfino
Zapfino Zapfino
2017-05-26 11:30:00 weixin_33979363 阅读数 1

目录结构

转载于:https://www.cnblogs.com/SimonGao/p/6907685.html

2016-02-23 10:05:00 weixin_33800593 阅读数 13

1.Xcode导航快捷键
工程导航器: Command + 1
显示/隐藏导航器面板: Command + 0
显示/隐藏实用工具面板: Command + Option + 0
显示/隐藏控制台:Command + Shift + Y
打开Assistant Editor:Option + Command + Enter
关闭Assistant Editor:Command + Enter
在Assistant Editor中打开文件:在项目导航器中选中文件执行Option + Left-click
注:实际上是可以在preference中自定义option键和double click的操作的
选择你想要打开该文件的地方:Command + Option + Shift + Left-click
显示/隐藏调试台:Command + shift + Y

2.搜索快捷键
代码关键字搜索:Command+Shift + F 或 Command + 3
文件名或方法名关键字搜索:Command + Shift + O (支持不连关键字搜索,如“mtovp”,可搜到“MTOverseaPerson类”)
.h and .m文件间的快速切换:Control + Command + Up/Down

3.项目工程的编译和清理
运行:Command + R
编译:Command + B
停止运行/编译:Command + .
清理:Command + Shift + K

4.代码定位助手
快速定位当前文件在左侧工程导航器中的位置:Command + Shift + J
Show Related Items:Control + 1(注:可以查看光标所在方法的callers和callees)
查看方法调用层次: 把光标放在方法名处,操作Command + Option + Shift + H

5.代码编辑
左/右 缩进: Command+[ / ]
跳至文档开头/结尾:Command + Up/Down
跳至行首/行末:Command + Left/Right
跳至指定行:Command + L
删除整行:先把光标移到行末,再操作Command + delete
向上/下 移动整行:Option + Command + [ / ]
双击某个分隔符(如()、[]、{} 等),Xcode会选中匹配代码块
显示/关闭 代码Comletion提示功能:esc

6.帮助
查看帮助提示:Option + Left-click
打开帮助文档查看:Option + Double-click

7.lldb调试命令:

n/next:step over;
s/step:step into;
finish:step out;
c/continue:goto next breakpoint;
expr/expression:Evaluate a C/ObjC/C++ expression(动态执行C/ObjC/C++表达式);
p/print/expr/expression:print as a C/C++ basic variable;
po/expr -O/expression -O:Print as an Objective-C object;
call:调用。
其实上述p/po后接表达式(expression)也有调用的功能,一般只在不需要显式输出,或是无返回值时使用call,用于动态调试插入调用代码。

例如,可以在viewDidLoad:里面设置断点,然后在程序中断的时候输入以下命令:

1  
call [self.view setBackgroundColor:[UIColor redColor]]

继续运行程序,view的背景颜色将变成红色!

8.mac快捷键
程序间切换:Command + Tab
程序中的窗口间切换:Command + `
程序中标签页的切换:Command + Shift + [ / ]
隐藏窗口:Command + H
最小化:Command + M
系统截屏(区域):Command + Shift + 4

参考资料

(1) 14个Xcode中常用的快捷键操作:
http://www.cocoachina.com/ios/20141224/10752.html
(2) Xcode常用快捷键:
http://www.cnblogs.com/langtianya/p/3888157.html
(3) Xcode基本操作:
http://www.cnblogs.com/langtianya/p/3888157.html

2016-02-27 22:40:47 goldWave01 阅读数 589

Xcode插件神器

作为iOS开发人员,不了解些常用的插件,不使用插件,开发效率怎么会够快呢?那么问题来了,现在的你,使用过哪些xcode插件?如果没有使用过插件,那么很遗憾,您错过了很多好用的工具!

插件管理器

既然使用xcode插件,就应该想想有没有插件管理器呢?是的,有一个灰常有名的插件管理器叫Alcatraz,关于这个插件管理器如何安装,请参考官方文档

如果您已经安装过这个插件管理器,那么恭喜您可以直接看下面的内容了!!!

安装完成以后,需要重启Xcode后,然后在Xcode的菜单栏上就可以看到这样package manager:

这里写图片描述

第一神器:注释

开发必须有规范,不然维护成本就会提高。那么写api时就应该配上非常明确的注释,而有一个插件VVDocument就是一个注释神器。有了它,我们只需要使用///就会自动触发生成格式化的注释。看下面的例子,我们写好这个API后,直接输入///,就会生成下面这样的注释!!!当然格式是可以调整的,这个插件提供了一个配置界面,可以修改触发方式以及生成的样式等。

/*!
*  @author 黄仪标, 15-11-11 23:11:04
*
*  <#Description#>
*
*  @param patientModel <#patientModel description#>
*  @param resultBlock  <#resultBlock description#>
*
*  @return <#return value description#>
*/
- ( instancetype ) initWithPatientModel : ( HYBPatientModel * ) patientModel resultBlock : ( HYBResultBlock ) resultBlock ;

看下图,就是当前我的配置界面,如果想要修改就可以在这个界面直接修改!!!

这里写图片描述

1.前往GitHub下载工程文件:VVDocumenter-Xcode

2.用Xcode打开工程,Command + B

Build成功后,可以在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins目录下看到生成的xcplugin文件:

3.重启Xcode,在某个方法前输入三个“ / ”,自动生成对应的注释:

然后tab并保全就可以了。

4.打开Xcode菜单,在Window选项下可以看到已经安装的插件:

点击打开,可以设置该插件的选项:

感觉还是挺实用的,最重要是安装过程非一般的简单。

第二神器:XVim

我相信对于做过Web开发的人员,对vim这个工具是相当熟悉的吧。说真的,刚开始我也觉得这个东西不好用,不过那是因为不会用。后来看到有个同事是后端转iOS的,他一直在使用XVim插件操作好快,于是就想学习一下这个东西怎么用。

事实如此,真的是相当棒的插件。现在我的Xcode一直都有这个插件,而且对这个vim已经熟悉了,其常用的操作命令都记住了。

现在,本人也在学习HTML5,使用Sublime Text3开发工具,这个也是神器,支持很多的插件,而且也支持vim,简单是爽死了!!!如果您也在使用,一定要学习这个工具如何使用。

如果不想使用Alcatraz插件管理器来插件,可以直接到https://github.com/JugglerShu/XVim下载运行。

第三神器:XToDo

首先,其开源github地址为:https://github.com/trawor/XToDo

如果想要下载运行安装,可以直接下载然后用xcode运行。

我们在开发时,经常使用#warning来添加提醒信息,但是实际上很多项目里面有很多这样的信息,这让我们非常难找。有了XToDo这个神器,我们可以通过这个插件所提供的工具,直接查看。

支持的写法:TODO,FIXME,???,!!!!。看到这几个应该可以猜得出来是什么意思了吧。没错,就是事项的意思。

我们在代码中可以这样添加:

// TODO: 在上线前需要将这个值设置为111(假设)
const NSUInteger kAppInterfaceVersion = 111 ;

// FIXME: 这里是写死的假数据
NSString *title = @"假数据" ;

// ???: 这里是什么意思?
NSString *value = [ self test ] ;

// !!!!: 警告区
NSString *warningVersion = @"1"

第四神器:Cocoapods

现在新的项目中几乎都使用了Cocoapods来管理第三方库了,因此,这个插件也是必备神器啊!关于这个Cocoapods怎么使用,请阅读这篇文章:[http://www.henishuo.com/cocoapods-use/),这篇文章介绍了其基本使用,并且也教大家让自己的开源项目也支持Cocoapods

有了这个插件,就可以通过直观的界面来操作了。当然,喜欢使用命令的也是可以的,本人就更喜欢直接操作命令。

第五神器:DXXcodeConsoleUnicodePlugin

你知道吗?为什么Xcode控制台Console打印出来的JSON数据中有中文时都是看不懂的字符?这让人非常难受,只能通过断点调试才能单步进去看到这个值。那么现在有了这个神器就不用这么麻烦了!!!直接就可以打印出来看了!!!

1.快捷键 option+c 会转换当前 剪贴板 中的内容并用一个对话框把转换后的内容显示出来。

2.在 Xcode 的 Edit 菜单中勾选 ConvertUnicodeInConsole,然后 console 中再出现 \u4e0e 时,就会自动转换成 与 显示。

这里写图片描述

第六神器:FuzzyAutocomplete

这个FuzzyAutocomplete可是相当好用的家伙,可以自动匹配所有的变量、函数名等,而且不要求顺序。比如,Xcode自带的智能提示,我们只能是顺序的写了前面的字符才能匹配出来提示。那么这个神器就不一样了,不要求记得API的写法顺序,只要记住其中几个字母,就可以匹配出来了,然后选择就可以了。

看下图,是不是很明智:

image

第七神器:GitDiff

对于项目使用了git这个来管理版本的开发人员来说,这可就是一个神器了。我们在文件中发动了任何地方,在左边的代码行号这里都会有相应颜色显示,一看就可以看出来了。

当然,对于不是使用git来管理的人来说,这个插件就没有必要了。

看下图的左边,是不是不一样了:

这里写图片描述

还可以点击还原:

这里写图片描述

第八神器:PrettyPrintJSON

开发一定需要到调试接口,那么打印出来的JSON数据又是乱乱的,根本不能直观看出来是什么结构嘛。那么安装这个东西就好办了,直接可以显示出很好的结构。当然我们可以使用浏览器插件:JSON-handle插件,这个是google浏览器的插件,有了这个东西,将接口放到浏览器时,返回的JSON数据会自动格式化。

第九神器:SCXcodeSwitchExpander

这个插件也是好东西哦,当我们定义了枚举结构时,我们使用SCXcodeSwitchExpander插件就相当容易了。

我们定义一个枚举:

typedef NS_ENUM ( NSUInteger , HYBErrorType ) {
   kErrorTypeNetworkFail ,
   kErrorTypeNetworkTimeout ,
   kErrorTypeArgumentLess
}

当我们在使用时,我们声明一个枚举变量,然后输入switch (枚举变量)就会自动地展开了:

HYBErrorType errorType ;
switch ( errorType ) {
     case kErrorTypeNetworkFail :
      break ;
     case kErrorTypeNetworkTimeout :
      break ;
     case kErrorTypeArgumentLess :
      break ;
    default :
      break ;
}

这是不是很方便呢?必须的!!!

第十神器:Auto-Import

这个Auto-Import插件是可以快速导入头文件的插件。这个就不多说了,看图吧!!!

这里写图片描述

其实到现在我也没有这么使用过。所以只能排第十了!!!

Xcode升级后插件失效解决方案

这里有一个脚本可以刷新所有的插件,下载https://github.com/cikelengfeng/RPAXU,按照文档说明运行脚本即可。亲测可用!!

2017-03-10 10:20:04 shifang07 阅读数 181

Xcode常用快捷键

文档与帮助:Command + Shift +0(ZERO)

显示代码提示菜单:Esc

代码格式化:选中后 Ctrl + i

移动光标至本行行首:Ctrl + A

移动光标至本行行尾:Ctrl + E

删除光标之前整行内容: command+delete 

删除光标之后整行内容:Ctrl + K

删除光标后边的一个字符:Ctrl + D

调出各种图标、表情符输入界面:Ctrl + Command  然后再按一下空格键




没有更多推荐了,返回首页