[PHP][CakePHP 2.x]「<?=」が使えないとき
php.iniのshort_open_tagをOnにしよう。
rootのUIViewControllerを入れ替える
UIViewController*newvc=[[UIViewController alloc]init]; [UIApplication sharedApplication].keyWindow.rootViewController=newvc;
xibからUIView生成
NSArray*objects=[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:self options: nil]; UIView*view=[objects objectAtIndex: 0];
UILabelの文字間を設定
-(void)setLetterSpacing:(UILabel*)label letterSpacing:(float)letterSpacing{ NSMutableAttributedString* attributedText= [[NSMutableAttributedString alloc] initWithString:label.text]; [attributedText addAttribute:NSKernAttributeName value:[NSNumber numberWithFloat:letterSpacing] range:NSMakeRange(0, attributedText.length)]; label.attributedText = attributedText; }
UILabelの行間を設定
-(void)setLineHeight:(UILabel*)label lineHeight:(float)lineHeight{ NSMutableParagraphStyle *paragrahStyle = [[NSMutableParagraphStyle alloc] init]; paragrahStyle.minimumLineHeight = lineHeight; paragrahStyle.maximumLineHeight = lineHeight; NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:label.text]; [attributedText addAttribute:NSParagraphStyleAttributeName value:paragrahStyle range:NSMakeRange(0, attributedText.length)]; label.attributedText = attributedText; }
UIScrollViewがスクロール出来ないときチェックすること
・User Interaction Enabledがチェックされているか(XCode上)
・setContentSizeでサイズ指定しているか(プログラム上)
・Use Autolayoutのチェックが外れているか(XCode上)
NSStringでクラス名を指定する
Class targetClass=NSClassFromString(@"SettingViewController"); UIViewController*currentCV=[[targetClass alloc]init];
AppModel.php
public function isHalfLetter($data) { $str = current($data); return preg_match('/^[\x21-\x7E]*$/', $str); }
各モデル
var $validate=array( 'target'=>array( 'rule1'=>array( 'rule' => 'isHalfLetter', 'message' => '全角文字が含まれてるっす' ), ) );
DB設定を記述する。
Config/database.php
public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'ktyr', 'password' => 'ktyrps', 'database' => 'ktyrdb', 'prefix' => '', 'encoding' => 'utf8', ); public $testdb = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'ktyr', 'password' => 'ktyrps', 'database' => 'ktyrtestdb', 'prefix' => '', 'encoding' => 'utf8', );
DBを切替える。
各Model内で切替える場合。
/* testdbに切替える */ $this->setDataSource('testdb'); /* defaultに切替える */ $this->setDataSource('default');
各Model内
/* トランザクションスタート */ $dataSource=$this->getDataSource(); $result=$dataSource->begin(); /* コミット */ $result=$dataSource->commit(); /* ロールバック */ $result=$dataSource->rollback();
AppModel.phpに下記のようにするのもいいかもね。
public function begin(){ return $this->getDataSource()->begin(); } public function commit(){ return $this->getDataSource()->commit(); } public function rollback(){ return $this->getDataSource()->rollback(); }