1
スライダが変更されると半径が増減するMKCircleを実装しようとしています。私が持っている問題は、円が再描画されたときに滑らかではないということです。私は他のいくつかの記事を読んだところで、MKCircleのサブクラスを作成しなければならないことを示しているようですが、サンプルコードを見るたびにSwift 3以降では厳しい時間が続きます。私にこれを行う方法を教えてください?ここでは、スライダが変更されたときのために私のコードは次のとおりです。MKCircleをスムーズにリサイズする方法
func sliderValueChanged(_ sender:UISlider!) {
if (!map.selectedAnnotations.isEmpty) {
for overlay in map.overlays {
var temp : MKAnnotation = (map.selectedAnnotations.first)!
if (overlay.coordinate.latitude == temp.coordinate.latitude && overlay.coordinate.longitude == temp.coordinate.longitude) {
let newCirc : MKCircle = MKCircle(center: temp.coordinate, radius: CLLocationDistance(Float(sender.value*1000)))
let region: MKCoordinateRegion = MKCoordinateRegionForMapRect(newCirc.boundingMapRect)
let r: MKCoordinateRegion = map.region
if (region.span.latitudeDelta > r.span.latitudeDelta || region.span.longitudeDelta > r.span.longitudeDelta){
map.setRegion(region, animated: true)
}
map.add(MKCircle(center: temp.coordinate, radius: CLLocationDistance(Float(sender.value*1000))))
map.remove(overlay)
break
}
}
}
}
これは問題をまったく修正しません。サークルのサイズが変更されると、円滑ではありません。 – tyler
私はそれが滑らかに見える。私はあなたが望むものを見つけることを願っています。 – Mariam