LIANXU.me

I design and create Mac software.

开源代码

许多希望开始做苹果软件开发的程序员都苦于没有合适的实例,虽然很多优秀的开源软件,但代码量大,阅读梯度陡峭。下面例子是我在 CocoaChina 发帖时积累下来的一些典型案例。使用Objective-C语言编写,目标明确,代码简洁,是很好入门例子。由于代码短少所以没有附加注释或非常少的注释,如果有无法理解的部分,欢迎在这里留言,发送邮件或者到Beyondcow 论坛 留言询问。

近期项目统一使用Lion xcode 4.2建立(xcode 3.2-compatible格式),所有项目都是我编译运行成功的,并且没有说明的话不需要加载额外的库。如果遇到编译问题,请自行简单调整xcode项目参数即可。

如果你觉得这些代码对你有帮助,我也很乐意听到你的声音

捐助

如果这些的代码解决了你的问题或者节省了你的时间,你希望有所支持的话,我会非常感激您的捐赠。

协议

FreeBSD License
Copyright 2011 Beyondcow. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:

   1. Redistributions of source code must retain the above copyright notice, this list of
      conditions and the following disclaimer.

   2. Redistributions in binary form must reproduce the above copyright notice, this list
      of conditions and the following disclaimer in the documentation and/or other materials
      provided with the distribution.

THIS SOFTWARE IS PROVIDED BY Beyondcow "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Beyondcow OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those of the
authors and should not be interpreted as representing official policies, either expressed
or implied, of Beyondcow.
Toggle Image

开源列表

SwitchButton

Cocoa里使用NSButton创建一个仿真开关按钮。

LXFoundation

LXFoundation提供一个production-level的基础类库,替换现有的数据容器。

LoadTTFFont

展示在Cocoa环境下,通过代码加载bundle内字体的例子。

GrowlStyleWindow

Cocoa里实现窗口自绘阴影。View2 窗口为自绘阴影,颜色较深,可以控制阴影位置。View1 窗口为WindowServer服务渲染的默认窗口阴影。

createMultipleWindow

Cocoa里建立多窗口程序的方法,使用不同的方法建立,包括从xib里建立和直接用代码建立新窗口。

noiseBackground

使用CoreGraphic绘制带噪点的背景图片。

iMoo

使用OutlineView建立iTunes左侧列表风格的实例

CAAnimationForPath

展示CALayer配合CoreAnimation沿任意路线运动。该例中,红色小球沿螺旋路线运动。

BCPainter

一个非常简单的绘画板例子,主要展示一些基本绘图工具的实现方法。该绘画板使用CoreGraphic直接操作图片像素数据,而不是论坛上常见的建立图形对象方法。

WindowTitleMenu

为窗口标题栏添加popup按钮的例子。

VerticalButtonWindow

实现垂直排列NSWindow标准按钮的例子。

ATSUI_Vertical

使用ATSUI绘制垂直文字的例子。

SyncScrollView

2个ScrollView同步滚动的例子。

FullScreenApp

创建一个Mac OS下的全屏幕程序。

ZeroIB

有不少朋友发邮件提问如何不使用IB创建Cocoa程序实例。现在发一个ZeroIB,顾名思义包括主菜单全部由代码生成。

buttonMadness

NSTableView里面一列互斥的checkbox按钮。

LXScrubbingBar

可拖动的播放进度条,带荧光效果。

CURLgui

一个GUI下载器,wrap around curl命令行程序。

TableViewHeaderMenu

NSTableView表头菜单的例子。

TableView-Example-1

一个不使用IB创建NSTableView的例子。

CoolBox

一个代码绘制的box。

HardcodeImage_1.0.app.zip(该源代码暂时丢失)

图片硬编码生成器。可以根据图片生成Obj-c代码,直接加入源文代码用来保护软件界面不受篡改。

WebViewScroller

该实例教你如何改变WebView滚动条外观

daemon

展示如何使用fork,创建一个守护进程。

Comments