2010-09-10 61 views
6

Tôi muốn cho phép người dùng vẽ hình ảnh trên màn hình của họ ở chế độ nằm ngang.iPhone SDK: Chụp ảnh Chế độ Phong cảnh

Khi nút được nhấn, hình ảnh đó sẽ được lưu trữ cục bộ trên thiết bị.

Tôi đang sử dụng ví dụ mã này dưới đây mà làm việc theo chiều dọc http://www.ipodtouchfans.com/forums/showthread.php?t=132024

Vấn đề của tôi là tôi đang cố gắng để điều chỉnh mã cho chế độ nằm ngang với một khu vực vẽ nhỏ hơn nhưng nó không làm việc. Tôi không chắc tại sao?

Có vẻ như có ba khu vực liên quan đến giới hạn mà người dùng có thể tham gia. Tôi đã thử thay đổi kích thước nhưng điều đó dường như không hoạt động. Tôi đang thiếu gì?

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)]; 
... 
} 
+1

Không rõ bạn đang hỏi gì. Bạn đang gặp rắc rối với người dùng vẽ trên phần màn hình hoặc với việc chụp hình ảnh và lưu trữ nó một phần? Mã của bạn "không hoạt động" theo cách nào? Đó là: (a) Bạn mong đợi điều gì sẽ xảy ra? và (b) Điều gì đã xảy ra, thay vào đó? – Olie

+0

Bạn có thể hiển thị phần mã bạn sử dụng để điều chỉnh chế độ nằm ngang với vùng vẽ nhỏ hơn không? Có lẽ bạn không làm điều này một cách chính xác. – fuzz

+0

"drawImage.frame = self.view.frame;" -> bạn có chắc đó là điều bạn muốn làm không? bạn thường đặt child.frame = self.view.bounds – Geoffroy

Trả lời

0

Nếu bạn dự định chỉ có chế độ xem ngang. Sau đó, thêm đoạn mã sau vào ví dụ: -

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    if (interfaceOrientation==UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) 
     return YES; 
    else 
     return NO; 
} 

và đi đến tài sản và thiết lập hướng thiết bị dự án để Cảnh LeftCảnh Ngay

Hy vọng điều này sẽ giải quyết vấn đề của bạn.

-1

Tôi cũng đang sử dụng mã đó để vẽ và khi tôi chuyển sang chế độ ngang, tôi sẽ đưa lại khung cho drawimage của chúng tôi. Hoặc chế độ xem bạn đang sử dụng để vẽ. Nếu bạn đang đưa ra lớp học UIView từ lớp xib thì tốt hơn là đặt khung chế độ ngang từ đó.

Và có, một điều nếu thực hiện một số bản vẽ ở chế độ dọc và chuyển sang chế độ ngang thì bạn phải điều chỉnh điểm cuối và điểm hiện tại theo khu vực của bạn.

Các vấn đề liên quan