Yerleşik gezinme denetleyicisine sahip açılır bilgi penceresi, arka gezinmede boyuta saygı göstermiyor


89

Küçük bir görünüm denetleyicileri hiyerarşisi içeren bir UINavigationController'ı barındıran bir UIPopoverController'ım var.

Belgeleri takip ettim ve her görünüm denetleyicisi için görünümün açılır pencere bağlam boyutunu şu şekilde ayarladım:

[self setContentSizeForViewInPopover:CGSizeMake(320, 500)];

(her denetleyici için farklı boyut)

Bu, hiyerarşide ileriye doğru ilerlerken beklendiği gibi çalışıyor - açılır pencere, basılan denetleyiciye karşılık gelecek şekilde boyut değişikliklerini otomatik olarak canlandırıyor.

Ancak, gezinme çubuğunun Geri düğmesi aracılığıyla görünüm yığınında "Geri" ye gittiğimde, açılır pencerenin boyutu değişmiyor - ulaşılan en derin görünüm kadar büyük kalıyor. Bu bana kırılmış görünüyor; Açılır bilgi penceresinin, görünüm yığınından geçerken ayarlanan boyutlara saygı duymasını beklerdim.

Bir şey mi kaçırıyorum?

Teşekkürler.


Açılır bilgi penceresi boyutunu nerede belirliyorsunuz? Bir görüntüleme denetleyicisi her görüntülendiğinde (örn. İçinde) onu sıfırlıyor musunuz viewWillAppear:?
Ole Begemann

Hangi belgeleri takip ettiğinizi kastediyorsunuz?
Tom Hamming

Yanıtlar:


94

Tamam, ben de aynı sorunla mücadele ediyordum. Yukarıdaki çözümlerin hiçbiri benim için pek işe yaramadı, bu yüzden biraz araştırma yapmaya ve bunun nasıl çalıştığını bulmaya karar verdim. Bunu keşfettim: -contentSizeForViewInPopovergörünüm denetleyicinizde, açılır pencerenin kendisi tarafından değiştirilmez - farklı denetleyiciye giderken açılır pencere boyutu değişse bile. - Farklı denetleyiciye giderken açılır pencerenin boyutu değiştiğinde, geri dönerken açılır pencerenin boyutu geri yüklenmez - ViewWillAppear'daki açılır pencerenin boyutunu değiştirmek çok garip bir animasyon verir (diyelim ki açılır pencerenin içinde popController olduğunu varsayalım) - Bunu tavsiye etmem - Benim için denetleyicinin içinde sabit kodlanmış boyutu ayarlamak hiç işe yaramazdı - denetleyicilerim bazen büyük bazen küçük olmalı - onlara boyut hakkında fikir sunacak denetleyici

Tüm bu ağrılar için bir çözüm şu şekildedir: currentSetSizeForPopoverin viewDidAppear'ın boyutunu sıfırlamanız gerekir. Ancak dikkatli olmalısınız, zaten alanda ayarlanmış olanla aynı boyutu ayarlarsanız currentSetSizeForPopover, açılır pencere boyutu değiştirmeyecektir. Bunun gerçekleşmesi için, önce sahte boyutu (daha önce ayarlanandan farklı olacak) ve ardından uygun boyutu ayarlayabilirsiniz. Bu çözüm, denetleyiciniz gezinti denetleyicisinin içine yerleştirilmiş olsa bile çalışır ve açılır pencere, denetleyiciler arasında geri giderken boyutunu buna göre değiştirir.

UIViewController'da, boyutu ayarlayarak hile yapacak aşağıdaki yardımcı yöntemle kolayca kategori oluşturabilirsiniz:


- (void) forcePopoverSize {
    CGSize currentSetSizeForPopover = self.contentSizeForViewInPopover;
    CGSize fakeMomentarySize = CGSizeMake(currentSetSizeForPopover.width - 1.0f, currentSetSizeForPopover.height - 1.0f);
    self.contentSizeForViewInPopover = fakeMomentarySize;
    self.contentSizeForViewInPopover = currentSetSizeForPopover;
}

Sonra onu -viewDidAppearistenen denetleyicide çağırın .


1
Yukarıdaki kategori, onu çalıştırabilmemin tek (mantıklı) yoludur. Teşekkürler.
RickiG

Bu çalışıyor. Açılır bilgi penceresi küçüldüğünde, tablo görünümünün daraltma alanında "siyah" olmasını nasıl önleyeceğimi bulmam gerekiyor, ancak bu çözüm (sonunda!) Açılır pencerenin her yığın seviyesi için doğru boyuta taşınmasına gerçekten izin veriyor. Teşekkürler!
Ben Zotto

2
[UIView beginAnimations: nil context: nil] içine sardım; ve [UIView commitAnimations]; - daha az sarsıcı hale getirir.
Dustin

2
Benim için self.contentSizeForViewInPopover = CGSizeZero; bir satır kaydetti ve aynı etkiye sahipti. Çok teşekkürler!
rob5408

Bu çözümü ancak self.contentSizeForPopover = CGSizeZero; Benim görüşüme göre, geldiğim VC'ninWillDisappear yöntemi.
LightningStryk

18

Bunu iOS 7 ve 8 için şu şekilde çözdüm:

İOS 8'de, iOS, açılır pencerede istediğiniz görünümü, presentingViewController görünüm denetleyicisinin sunulanViewController'ına sessizce kaydırıyor. Popovercontroller ile bu konuya değindikleri yenilikleri açıklayan 2014 WWDC videosu var.

Her neyse, gezinme denetleyicisi yığınında sunulan ve tümü kendi boyutlandırmasını isteyen görünüm denetleyicileri için, bu görünüm denetleyicilerinin (iOS 8 altında) tercih edilenContentSize değerini dinamik olarak ayarlamak için bu kodu çağırması gerekir:

self.presentingViewController.presentedViewController.preferredContentSize = CGSizeMake(320, heightOfTable);

HeightOfTable'ı hesaplanan tablonuzla veya görünüm yüksekliğiyle değiştirin.

Çok sayıda yinelenen koddan kaçınmak ve ortak bir iOS 7 ve iOS 8 çözümü oluşturmak için, tablo görünümlerimde viewDidAppear çağrıldığında bu işi gerçekleştirmek için UITableViewController'da bir kategori oluşturdum:

- (void)viewDidAppear:(BOOL)animated 
{
    [super viewDidAppear:animated];
    [self setPopOverViewContentSize];
}

Category.h:

#import <UIKit/UIKit.h>

@interface UITableViewController (PreferredContentSize)

- (void) setPopOverViewContentSize;

@end

Category.m:

#import "Category.h"

@implementation UITableViewController (PreferredContentSize)

- (void) setPopOverViewContentSize
{
    [self.tableView layoutIfNeeded];
    int heightOfTable = [self.tableView contentSize].height;

    if (heightOfTable > 600)
        heightOfTable = 600;

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        if ([[[UIDevice currentDevice] systemVersion] floatValue] < 8.0)
            self.preferredContentSize=CGSizeMake(320, heightOfTable);
        else
            self.presentingViewController.presentedViewController.preferredContentSize = CGSizeMake(320, heightOfTable);
    }
}

@end

İşlerle ilgili presentingViewControlleripucunuz. Ben ayarlarsanız preferredContentSizeiçinde viewDidLoadbir yanlış popover boyutu değişikliğine popover derivasyonlarda başka bir görünüm denetleyicisinden gezinme geri: garip bir davranış yoktur. Açılır bilgi penceresi boyutu sıfır ayarlanmış gibi görünüyor, ancak boyut doğru. Böyle bir durumda, açılır bilgi penceresi tüm ekran yüksekliğini alır. Belki de bunun neden böyle olduğunu biliyor musunuz? 600 puanlık bir kısıtlamam yok çünkü tecrübelerime göre işletim sistemi ekran boyutundan daha büyük bir boyut belirlemenize izin vermiyor.
test

Yığını yedeklediğinizde kodun çalıştırılması için viewDidLoad yerine viewDidAppear'ı deneyin.
Wesley Filleman

Ben böyle düşündüm. Ama bunu ayarlarsanız neden işe yaramayacağını anlamıyorum viewDidLoad...
test

1
Maalesef bu, Apple'ın görünüm yığınını yazma yolu değil. ViewController görünümden gizlendikten sonra bu contentSize değerleri gerçekten kalıcı olmaz. Bu nedenle, bir görüntü ön plana her itme veya patlamayla geldiğinde açılır pencereyi "hatırlatmanız" gerekir. Benim tavsiyem, açılır pencerenin bu bilgileri tutması gerektiğini düşünüyorsanız, Apple'a bir hata raporu göndermenizdir.
Wesley Filleman

12

Bu, krasnyk'in cevabında bir gelişmedir .
Çözümünüz harika, ancak sorunsuz bir şekilde canlandırılmıyor.
Biraz iyileştirme güzel bir animasyon sağlar: Yöntemdeki

son satırı kaldırın - (void) forcePopoverSize:

- (void) forcePopoverSize {
    CGSize currentSetSizeForPopover = self.contentSizeForViewInPopover;
    CGSize fakeMomentarySize = CGSizeMake(currentSetSizeForPopover.width - 1.0f, currentSetSizeForPopover.height - 1.0f);
    self.contentSizeForViewInPopover = fakeMomentarySize;
}

Yönteme [self forcePopoverSize] koyun - (void)viewWillAppear:(BOOL)animated:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    [self forcePopoverSize];
}

Ve son olarak - - (void)viewDidAppear:(BOOL)animatedyöntemde istenen boyutu ayarlayın :

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    CGSize currentSetSizeForPopover = self.contentSizeForViewInPopover;
    self.contentSizeForViewInPopover = currentSetSizeForPopover;
}

8

İçerik boyutunu tekrar ayarlamanız gerekiyor viewWillAppear. Popovercontroller'ın boyutunu ayarladığınız delagate yöntemini çağırarak. Ben de aynı sorunu yaşadım. Ama bunu eklediğimde sorun çözüldü.

Bir şey daha: 5'ten daha düşük beta sürümleri kullanıyorsanız, popover'ları yönetmek daha zordur. Beta sürüm 5'ten daha arkadaş canlısı görünüyorlar. Son sürümün çıkması güzel. ;)

Bu yardımcı olur umarım.


Ben de bundan nefret ediyorum. Beni de yakaladı. Apple: Neden gezinme denetleyicili bir açılır pencereyi belirli bir boyuta kilitleyemiyoruz ?!
Jann

2
İçerik boyutunu ayarlamak viewWillAppearbenim için işe yaramadı. Popover'ın boyutunu belirlemek açıkça işe yaradı, ama bu getto.
Ben Zotto

@quixoto Sorunun ne olduğunu bilmiyorum ama yine de aynı şeyi kullanıyorum ve mükemmel çalışıyor.
Madhup Singh Yadav

5

Gelen -(void)viewDidLoadgezinme kontrolörde kullanan tüm görüntüle denetleyicileri ekleyin:

[self setContentSizeForViewInPopover:CGSizeMake(320, 500)];

3

ViewWillDisappear: (BOOL) 'dan geri gidilen görünüm denetleyicisinin animasyonlu yönteminde boyutu sıfırladım:

-(void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    CGSize contentSize = [self contentSizeForViewInPopover];
    contentSize.height = 0.0;
    self.contentSizeForViewInPopover = contentSize;
}

Ardından, geri dönülmekte olan görünüm göründüğünde, boyutu uygun şekilde sıfırlarım:

-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    CGSize contentSize;
    contentSize.width = self.contentSizeForViewInPopover.width;
    contentSize.height = [[self.fetchedResultsController fetchedObjects] count] *  self.tableView.rowHeight;
    self.contentSizeForViewInPopover = contentSize;
}

Hmm .. sıfırlamaya gerek yoktu. Tüm görünüm denetleyicisinin tüm viewWillAppear'ına self.contentSizeForViewInPopover = self.view.frame.size koydum.
08

FetchedResultsController fetchedObjects için ne koyardım? Bu işe yaramıyor
Jules

2

İOS 8 için aşağıdakiler çalışır:

- (void) forcePopoverSize {
    CGSize currentSetSizeForPopover = self.preferredContentSize;
    CGSize fakeMomentarySize = CGSizeMake(currentSetSizeForPopover.width - 1.0f, currentSetSizeForPopover.height - 1.0f);
    self.preferredContentSize = fakeMomentarySize;
    self.navigationController.preferredContentSize = fakeMomentarySize;
    self.preferredContentSize = currentSetSizeForPopover;
    self.navigationController.preferredContentSize = currentSetSizeForPopover;
}

BTW Bence bu önceki iOS sürümleriyle uyumlu olmalı ...


İOS8'de iOS7 sdk ile derlenen bir uygulamayla ilgili sorun yaşadım. Bu işe yaradı, teşekkürler.
Climbatize

Dönüşü değiştirirken boyutlandırmayı düzeltmek için willTransitionToTraitCollection, animateAlongsideTransitiontamamlama bloğunda bu yöntemi çağırın .
Geva

2
Well i worked out. Have a look.


Made a ViewController in StoryBoard. Associated with PopOverViewController class.


import UIKit

class PopOverViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        self.preferredContentSize = CGSizeMake(200, 200)

        self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismiss:")

    }

    func dismiss(sender: AnyObject) {
        self.dismissViewControllerAnimated(true, completion: nil)
    }
}




See ViewController:


//
//  ViewController.swift
//  iOS8-PopOver
//
//  Created by Alvin George on 13.08.15.
//  Copyright (c) 2015 Fingent Technologies. All rights reserved.
//

import UIKit

class ViewController: UIViewController, UIPopoverPresentationControllerDelegate
{
    func showPopover(base: UIView)
    {
        if let viewController = self.storyboard?.instantiateViewControllerWithIdentifier("popover") as? PopOverViewController {


            let navController = UINavigationController(rootViewController: viewController)
            navController.modalPresentationStyle = .Popover

            if let pctrl = navController.popoverPresentationController {
                pctrl.delegate = self

                pctrl.sourceView = base
                pctrl.sourceRect = base.bounds

                self.presentViewController(navController, animated: true, completion: nil)
            }
        }
    }

    override func viewDidLoad(){
        super.viewDidLoad()
    }

    @IBAction func onShow(sender: UIButton)
    {
        self.showPopover(sender)
    }

    func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
        return .None
    }
}


Note: The func showPopover(base: UIView) method should be placed before ViewDidLoad. Hope it helps !

1

Benim için bu çözümler işe yarıyor. Bu, UITableViewController'ı genişleten ve UINavigationController için kök denetleyici olan görünüm denetleyicimden bir yöntemdir.

-(void)viewDidAppear:(BOOL)animated {
     [super viewDidAppear:animated];
     self.contentSizeForViewInPopover = self.tableView.bounds.size;
}

Gezinme yığınına aktaracağınız görünüm denetleyicisi için içerik boyutunu ayarlamayı unutmayın.

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{
    dc = [[DetailsController alloc] initWithBookmark:[[bookmarksArray objectAtIndex:indexPath.row] retain] bookmarkIsNew:NO];
    dc.detailsDelegate = self;
    dc.contentSizeForViewInPopover = self.contentSizeForViewInPopover;
    [self.navigationController pushViewController:dc animated:YES]; 
 }

1

Assambler'ı hayal edebiliyorsanız, bence bu biraz daha iyi:

- (void) forcePopoverSize {
    CGSize currentSetSizeForPopover = self.contentSizeForViewInPopover;
    self.contentSizeForViewInPopover = CGSizeMake (0, 0);
    self.contentSizeForViewInPopover = currentSetSizeForPopover;
}

2
daha da iyisi kullanmak CGSizeZeroyerine kendi başınıza yapmak olacaktırCGSizeMake(0,0)
Julian Król

1

Kabul edilen yanıt iOS 8 ile düzgün çalışmıyor. Yaptığım şey, UINavigationControllerbu açılır pencerede kullanmak için kendi alt sınıfımı oluşturmak ve yöntemi preferredContentSizeşu şekilde geçersiz kılmaktı :

- (CGSize)preferredContentSize {
    return [[self.viewControllers lastObject] preferredContentSize];
}

Dahası, arama forcePopoverSize(@krasnyk tarafından uygulanan yöntem) yerine, viewDidAppeardaha önce bahsedilen gezinme için bir delege olarak bir viewController (açılır pencereyi gösterir) ayarlamaya karar verdim (açılır pencerede) ve (hangi kuvvet yönteminin yaptığı):

-(void)navigationController:(UINavigationController *)navigationController
      didShowViewController:(UIViewController *)viewController 
                   animated:(BOOL)animated  

bir geçti için temsilci yöntemi viewController. Önemli bir şey, forcePopoverSizebir UINavigationControllerDelegateyöntemde yapmak, bu animasyonun pürüzsüz olmasına ihtiyacınız yoksa, o zaman bırakın viewDidAppear.


neden aşağı oylama? belki bazı geri bildirimler anlaşmazlıktan farklı :)
Julian Król

merhaba @ JulianKról, bu stackoverflow.com/questions/28112617/… 'ye bir göz atabilir misin , aynı sorunum var.
Ranjit

Teşekkürler, bu bana yardımcı oldu. Yorumunuzun üst kısmında sorunun, navigationController preferContentSize öğesinin yanı sıra visibleVC PreferentSize öğesini güncellemeniz gerektiğini açıkça belirtmek isteyebilirsiniz. Yani ikisini de doğrudan ayarlamak da işe yarar.
Michael Kernahan

0

Ben de aynı sorunla karşılaşıyordum, ancak viewWillAppear veya viewWillDisappear yönteminde içerik boyutunu ayarlamak istemiyorsunuz.

AirPrintController *airPrintController = [[AirPrintController alloc] initWithNibName:@"AirPrintController" bundle:nil];
airPrintController.view.frame = [self.view frame];
airPrintController.contentSizeForViewInPopover = self.contentSizeForViewInPopover;
[self.navigationController pushViewController:airPrintController animated:YES];
[airPrintController release];

o denetleyiciyi navigationController'a göndermeden önce bu denetleyicinin contentSizeForViewInPopover özelliğini ayarlayın


0

Aşağıdakileri viewdidappear'a koyarak şansım oldu:

[self.popoverController setPopoverContentSize:self.contentSizeForViewInPopover animated:NO];

Her ne kadar farklı boyuttaki popover'ları ittiğinizde / patlattığınızda bu hoş bir şekilde canlandırılmayabilir. Ama benim durumumda mükemmel çalışıyor!


0

Yapmanız gereken tek şey:

-PopOvers contentView'in viewWillAppear yönteminde, aşağıda verilen parçacığı ekleyin. PopOver'ın boyutunu ilk yüklendiğinde belirtmeniz gerekecektir.

CGSize size = CGSizeMake(width,height);
self.contentSizeForViewInPopover = size;

0

Bu sorunu, başlangıçta popoverContentSize = CGSizeMake (320, 600) olan, ancak ContentViewController (bir UINavigationController) ile gezinirken daha büyük olan bir popover denetleyicisiyle yaşadım.

Nav denetleyicisi yalnızca özel UITableViewControllers'ı itiyor ve patlatıyordu, bu nedenle özel tablo görünümü denetleyici sınıfımın viewDidLoad'unda self.contentSizeForViewInPopover = CGSizeMake (320, 556)

44 daha az piksel, Gezinme denetleyicisinin gezinme çubuğunu hesaba katacak ve artık herhangi bir sorun yaşamıyorum.


0

Bunu, açılır pencerenin içine ittiğiniz tüm görünüm denetleyicilerine yerleştirin

CGSize currentSetSizeForPopover = CGSizeMake(260, 390);
CGSize fakeMomentarySize = CGSizeMake(currentSetSizeForPopover.width - 1.0f,
                                      currentSetSizeForPopover.height - 1.0f);
self.contentSizeForViewInPopover = fakeMomentarySize;
self.contentSizeForViewInPopover = currentSetSizeForPopover;

viewwillAppear method. ve currentSetSizeForPopover'da istediğiniz boyutu ayarlayın.
alok

0

Aynı sorunla karşılaştı ve UIPopoverController başlatılmadan önce içerik görüntüleme boyutunu gezinme denetleyicisine ayarlayarak ve denetleyiciyi görüntüleyerek düzeltildi.

     CGSize size = CGSizeMake(320.0, _options.count * 44.0);
    [self setContentSizeForViewInPopover:size];
    [self.view setFrame:CGRectMake(0.0, 0.0, size.width, size.height)];
    [navi setContentSizeForViewInPopover:size];

    _popoverController = [[UIPopoverController alloc] initWithContentViewController:navi];

0

Bunların hiçbiri benim için işe yaramadığı için başka bir çözüm önermek istiyorum ...

Aslında bunu bu https://github.com/nicolaschengdev/WYPopoverController ile kullanıyorum

Açılır pencerenizi ilk aradığınızda bunu kullanın.

if ([sortTVC respondsToSelector:@selector(setPreferredContentSize:)]) {
   sortTVC.preferredContentSize = CGSizeMake(popoverContentSortWidth,
        popoverContentSortHeight);
}
else 
{
   sortTVC.contentSizeForViewInPopover = CGSizeMake(popoverContentSortWidth, 
        popoverContentSortHeight);
}

Sonra bu açılır pencerede bunu kullanın.

-(void)viewWillAppear:(BOOL)animated {
  [super viewWillAppear:YES];

  if ([self respondsToSelector:@selector(setPreferredContentSize:)]) {
    self.preferredContentSize = CGSizeMake(popoverContentMainWidth, 
        popoverContentMainheight);
  }
  else 
  {
    self.contentSizeForViewInPopover = CGSizeMake(popoverContentMainWidth, 
        popoverContentMainheight);
  }
}

-(void)viewDidDisappear:(BOOL)animated {
 [super viewDidDisappear:YES];

self.contentSizeForViewInPopover = CGSizeZero;

}

Sonra çocuk görüşleri için tekrarlayın ...


0

İOS7'de bunu yapmanın doğru yolu budur, Gezinme yığınındaki her görünüm denetleyicisinde viewDidLoad'da tercih edilen içerik boyutunu ayarlayın (yalnızca bir kez yapılır). Ardından, viewWillAppear'da açılır pencere denetleyicisine bir başvuru alın ve burada contentSize öğesini güncelleyin.

-(void)viewDidLoad:(BOOL)animated
{
    ...

    self.popoverSize = CGSizeMake(420, height);
    [self setPreferredContentSize:self.popoverSize];
}

-(void)viewWillAppear:(BOOL)animated
{
    ...

    UIPopoverController *popoverControllerReference = ***GET REFERENCE TO IT FROM SOMEWHERE***;
    [popoverControllerReference setPopoverContentSize:self.popoverSize];
}

0

@krasnyk çözümü önceki iOS sürümlerinde iyi çalıştı ancak iOS8'de çalışmıyordu. Aşağıdaki çözüm benim için çalıştı.

    - (void) forcePopoverSize {
        CGSize currentSetSizeForPopover = self.preferredContentSize;
       //Yes, there are coupling. We need to access the popovercontroller. In my case, the popover controller is a weak property in the app's rootVC.
        id mainVC = [MyAppDelegate appDelegate].myRootVC;
        if ([mainVC valueForKey:@"_myPopoverController"]) {
            UIPopoverController *popover = [mainVC valueForKey:@"_myPopoverController"];
            [popover setPopoverContentSize:currentSetSizeForPopover animated:YES];
        }
    }

En iyi çözüm değil ama işe yarıyor.

Yeni UIPopoverPresentationController ayrıca yeniden boyutlandırma sorununa da sahiptir :(.


1
belki AppDelegate özelliğinden görünüm denetleyicisine ulaşmak yerine çözümümü düşünün (daha temiz görünüyor)
Julian Król

Evet, bu mevcut kod tabanımın hiçbirini değiştirmeden en hızlı çözümdü. Btw vl deneyin çözüm
Clement Prem

0

preferredContentSizeNavigationController'ın özelliğini şurada ayarlamanız gerekir viewWillAppear:

-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationController.preferredContentSize = CGSizeMake(320, 500);}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.