Saya mencoba memahami fungsi dari metode ini. Bisakah Anda memberi saya usecase sederhana untuk memahami semantik mereka?
Dari dokumentasi, misalnya, metode convertPoint: fromView: dijelaskan sebagai berikut:
Mengubah titik dari sistem koordinat pandangan yang diberikan ke penerima.
Apa arti sistem koordinat ? Bagaimana dengan penerima ?
Misalnya, apakah masuk akal menggunakan convertPoint: fromView: seperti berikut ini?
CGPoint p = [view1 convertPoint:view1.center fromView:view1];
Menggunakan utilitas NSLog, saya telah memverifikasi bahwa nilai p bertepatan dengan pusat view1.
Terima kasih sebelumnya.
SUNTING: bagi mereka yang tertarik, saya telah membuat cuplikan kode sederhana untuk memahami metode ini.
UIView* view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 150, 200)];
view1.backgroundColor = [UIColor redColor];
NSLog(@"view1 frame: %@", NSStringFromCGRect(view1.frame));
NSLog(@"view1 center: %@", NSStringFromCGPoint(view1.center));
CGPoint originInWindowCoordinates = [self.window convertPoint:view1.bounds.origin fromView:view1];
NSLog(@"convertPoint:fromView: %@", NSStringFromCGPoint(originInWindowCoordinates));
CGPoint originInView1Coordinates = [self.window convertPoint:view1.frame.origin toView:view1];
NSLog(@"convertPoint:toView: %@", NSStringFromCGPoint(originInView1Coordinates));
Dalam kedua kasus, jendela mandiri adalah penerima. Tetapi ada perbedaan. Dalam kasus pertama, parameter convertPoint diekspresikan dalam koordinat view1. Outputnya adalah sebagai berikut:
convertPoint: fromView: {100, 100}
Yang kedua, sebagai gantinya, convertPoint dinyatakan dalam superview (self.window) koordinat. Outputnya adalah sebagai berikut:
convertPoint: toView: {0, 0}
convertPoint
danconvertRect
berbeda dalam jenis pengembalian.CGPoint
atauCGRect
. Tapi bagaimana denganfrom
danto
? Apakah ada aturan praktis yang bisa saya gunakan? Terima kasih.