2012-02-13 16 views

Trả lời

30

Không có la bàn gốc UIView. Để sử dụng các từ kế, bạn sẽ phải sử dụng CoreLocation và phương pháp đại biểu sau đây:

- (void) locationManager:(CLLocationManager *)manager 
      didUpdateHeading:(CLHeading *)newHeading 

để xoay một UIView đến điểm Bắc (bearingView là một UIImageView):

float heading = newHeading.magneticHeading; //in degrees 
float headingDegrees = (heading*M_PI/180); //assuming needle points to top of iphone. convert to radians 
self.bearingView.transform = CGAffineTransformMakeRotation(headingDegrees); 
+0

Vâng, tôi nghĩ rằng bạn đúng về la bàn bản địa UIView. Tôi sẽ chờ một chút để xem liệu có ai khác không đồng ý. Chắc chắn là có, didUpdateHeading là cách cập nhật bất kỳ hình ảnh nào tôi chọn để vẽ. Cám ơn rất nhiều. – theDuncs

+1

Keller - vì không ai khác có mâu thuẫn với bạn, tôi sẽ trả lời câu trả lời đúng. Cảm ơn bạn đời. – theDuncs

+0

Không sao cả. Để tạo chế độ xem la bàn chỉ về phía bắc, chỉ cần tạo đồ họa "kim la bàn" và xoay hình ảnh đó qua biến đổi của nó. Xem Chỉnh sửa của tôi. – Keller