iPhone SDK:图像捕获横向模式

iPhone SDK:图像捕获横向模式,iphone,Iphone,我希望允许我的用户以横向模式在屏幕上绘制图片 按下按钮后,该图像应本地存储在设备上 我正在使用下面的代码示例,它垂直工作 我的问题是,我正试图用较小的绘图区域调整横向模式的代码,但它不起作用。我不知道为什么 似乎有三个领域涉及到用户可以绘制的边界。我试过改变尺寸,但似乎不起作用。我错过了什么 Orignally: viewDidLoad: drawImage = [[UIImageView alloc] initWithImage:nil]; drawImage.frame = self.v

我希望允许我的用户以横向模式在屏幕上绘制图片

按下按钮后,该图像应本地存储在设备上

我正在使用下面的代码示例,它垂直工作

我的问题是,我正试图用较小的绘图区域调整横向模式的代码,但它不起作用。我不知道为什么

似乎有三个领域涉及到用户可以绘制的边界。我试过改变尺寸,但似乎不起作用。我错过了什么

Orignally:

viewDidLoad:
drawImage = [[UIImageView alloc] initWithImage:nil];
drawImage.frame = self.view.frame;

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

UIGraphicsBeginImageContext(self.view.frame.size);
    [drawImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
...
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

UIGraphicsBeginImageContext(self.view.frame.size);
        [drawImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
...
}

如果您打算只查看风景。然后将以下代码添加到示例中:-

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (interfaceOrientation==UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight)
        return YES;
    else 
        return NO;
}
然后转到项目属性并将设备方向设置为横向左侧横向右侧


希望这能解决您的问题。

我也在使用该代码进行绘图,当我切换到横向模式时,我会再次为我们的drawimage提供帧。或用于绘图的视图。如果您是从xib类中提供
UIView
类,那么最好从那里设置横向模式帧


是的,如果在纵向模式下绘制一些图形并切换到横向模式,则必须根据您的区域调整其最后点和当前点。

不清楚您的要求。用户在屏幕部分绘图或捕获图像并将其存储在屏幕部分时是否遇到问题?您的代码以什么方式“不起作用”?那就是:(a)你期望发生什么?和(b)发生了什么?您能否显示用于调整较小绘图区域的横向模式的代码部分?可能您没有正确执行此操作。“drawImage.frame=self.view.frame;”->您确定要这样做吗?通常设置child.frame=self.view.bounds