今天碰到一个简单的需求,有一批png图像文件,图像名字均为xxx@2x.png,其中xxx是可变部分。现在需要将所有xxx@2x.png图像改名为xxx.png,且尺寸变为原来的50%。这就涉及到两个问题,第一:批量改名,第二:批量处理文件。
解决如下:
1)批量改名:for var in *.png; do mv "$var" "${var%@2x.png}.png"; done
2)批量修改图像:for png in *.png; do convert $png -resize 50% $png
其中的批量修改图像中使用到了一个convert命令,这个命令是命令行图像处理工具ImageMagick的一个子命令。关于ImageMagick我之前的随笔中也有提到,感兴趣的童鞋可以参考一下。
1)首先查看/usr/bin目录下是否存在codesign_allocate程序,如果存在,执行改名操作。 如果不存在,直接执行第二步
sudo mv /usr/bin/codesign_allocate /usr/bin/codesign_allocate_old
2)将xcode目录下的codesign做一个软链接
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin
解决!
遇到此种情况,请查看info.plist文件中的UIRequiredDeviceCapabilities段,确保该段下指定的设备能力都能够被使用的设备所支持。
本人遇到这个错误,是因为我的应用程序需要magnetometer能力,我在使用iPhone的时候是没有问题的,但是使用iPod Touch的时候就出现问题了,很显然iPod Touch没有磁传感器。
iPhone通过UIImagePickerController来启动相机。可以设置必要的参数,通过设置allowEditin
g属性,可以在照片拍摄完成以后做简单的平移编辑功能,从而获取编辑之后的照片。
在didFinishPickingMediaWithInfo回调方法中,可以获取两种规格的图像,分别是原始图像和编辑后的图像(要获取编辑后的图像需要设置allowEditing为YES)。
原始图像通过[info objectForKey:UIImagePickerControllerOriginalImage]取得,在iPhone4上获取的尺寸大小为1936x2592。
编辑后的图像通过[info objectForKey:UIImagePickerControllerEditedImage]取得,在iPhone4上获取的尺寸大小为640x640。
如果我们需要做简单的图像处理工作,最好是取得编辑后的图像,尺寸小,图像质量损失也很小,可以快速处理。
曾经有一段使用ubuntu的经历,在使用ubuntu的过程中apt-get是一个及其重要的工具,负>责了几乎所有软件的安装、卸载、更新工作。使用简单但功能强大。如果使用Mac OS,开启
终端之后,发现一些好用的命令行工具都没有,比如wget或unrar,这很郁闷。google一番>知道使用brew是apt-get的一个替代品。
安装:
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
使用:
1. 安装wget
brew install wget
2. 安装unrar
brew install unrar
3. 卸载wget
brew uninstall wget
4. 检索软件
brew search wget
一切又美好了.
@import url(/css/cuteeditor.css);
公司新买了mac mini,由于是新版本的mac mini,里面预装的是mac os Lion,也就是mac os 10.7,之前的xcode 3.2.5版本总是装不上,仔细查看安装选项才发现xcode toolset无法被勾选上,sdk可以安装,但是xcode app套件安装不了,但是下载一个xcode 4需要颇废一番功夫。更何况项目之前的代码已经一致都用xcode 3.2.5,而且另外一个同事的mac mini也是老版本的。
解决方法如下:
1. 加载xcode 3.2.5的dmg文件
2. 在dmg文件上右键,打开终端
3. 在终端中输入以下命令:
export COMMAND_LINE_INSTALL=1
open "Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg"
搞定!
错误:modifying layer that is being finalized
原因:对于同一个UIView对象,重复进行release操作就会导致该错误发生。
解决方案一:检查代码,确保相应的view对象只被释放一次。
解决方案二:使用removeFromSuperView代替release。
cd <root of svn>
svn cleanup
摘要: 在iPhone应用程序开发过程中,对于TextField控件,当其获得输入焦点时,软键盘会自动弹出,用户可以进行输入。但是当TextField控件处于屏幕的底部时,弹出的软键盘会遮挡住TextField控件,这样就不能看到当前输入的内容了。解决方法是使用UIView切换动画的方式,在垂直方向上做一个偏移即可。 阅读全文
如果编译BClass的时候出现下面的错误:
expected specifier-qualifier-list before ‘AClass’
当出现这种错误的时候说明AClass没有被import,如果已经import这个类了,说明AClass和BClass 之间有Circle引用。
也就是说AClass import BClass,BClass import了 AClass。
解决的办法是:
在AClass.h中用@Class BClass;,然后在AClass.m中#import "BClass.h"。