AVFoundation を使用するスタンフォード大学の iPhone レッスンを終えたところです。TAさんに動画を表示するアプリを作ってもらい、顔認証で顔にサングラスをかける授業でした。そこで、いくつかのスイッチとスライダーを接続して、さまざまなことをしたいと考えました。1 つ目は、色相フィルターの値を変更するスライダーです。次に、サングラスを表示するかどうかを切り替えたいと思いました。しかし、スイッチはサングラスをオフにしません。スイッチは機能しますが。プロパティでBOOLを宣言しました
@property (nonatomic) BOOL sunGlasses;
私はそれを合成し、スイッチを次のアクションに接続しました
- (IBAction)toggleGlasses:(id)sender
{
if (_mySwitch.on)
{
NSLog(@"toggle is on");
self.sunGlasses = YES;
}else {
NSLog(@"toggle is off");
self.sunGlasses = NO;
}
}
次に、-(void) captureOutput のメソッドの下で、色相が変更され、顔認識が顔認識部分に追加されます。
if ((faceFound) && (self.sunGlasses = YES)){
[self.glasses setHidden:NO];
}else{
[self.glasses setHidden:YES];
}
以前は (faceFound) だけで、メガネを隠したり見せたりしていました。ただし、スイッチをオフに切り替えても、これでメガネが消えるわけではありません。