Нет собственного компаса UIView
. Чтобы использовать магнитометр, вам необходимо использовать CoreLocation и следующий метод делегата:
- (void) locationManager:(CLLocationManager *)manager
didUpdateHeading:(CLHeading *)newHeading
, чтобы повернуть UIView, чтобы указать на север (подшипник представляет собой 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);